6
votes

ODP.NET et ClickOnce possible?

Nous avons une application SQLServer (WinForms) déployée avec ClickOnce qui parle directement à la base de données. Si nous sommes obligés de le porter à Oracle, ODP.NET peut être utilisé avec ClickOnce.

(les utilisateurs peuvent ne pas avoir de droits d'administrateur sur leurs PC)

fond

Cette application d'importation de données est utilisée par une poignée d'utilisateurs sur le site de chaque client, il utilise une connexion intergradette pour se connecter à SQL Server. La plupart des utilisateurs accèdent à l'application System Var une application ASP.NET ou une application WinForms (ClickOnce) qui parle à un service Web.

Voir aussi " Comment écrire une application .NET qui fonctionne avec SQLServer et Oracle "


2 commentaires

J'ai mis à jour ma réponse. J'ai également inclus l'instruction pour les applications intelligentes, truc et fat. Le principe à la réponse reste la même chose - si vous souhaitez distribuer votre application via ClickOnce sur les utilisateurs de terminaison sans le client Oracle ou ODP.net installé, ils doivent être incorporés dans votre application et les instructions sont les mêmes pour 11,2 R4. Faites-moi savoir si vous avez besoin d'autres détails et je vais leur fournir si je peux.


Ian - Je pense que l'ODP.NET + ClickOnce a été assez approfondi. Si vous avez besoin de plus d'informations MS-SQL + Oracle , vous voudrez probablement une question distincte


4 Réponses :


3
votes

Le client instantané prend en charge le déploiement XCopy, donc La même approche (y compris celle-ci dans votre déploiement ClickOnce) devrait le rendre ok de déployer.

Cependant! Dans de nombreux cas, il peut être plus approprié (avec ClickOnce) pour utiliser une approche "Client intelligent", c'est-à-dire l'accès aux données via un serveur d'applications via Web-Services. Ensuite, vous n'avez pas besoin de composants DAL dans le client.


4 commentaires

Quelqu'un a-t-il vu cela fonctionnant, y compris l'adaptation des piqûres de connexion, etc. Nous ne pouvons pas avoir à chaque utilisateur à modifier tous les fichiers de configuration Oracle sur leurs PC


Nous utilisons une approche "client intelligent" pour la plupart de nos applications, cependant, lorsque nous avons écrit l'application Data Inport, les services Web / .NET ne sont pas assez rapides. Nous étions également sur des échelles de temps serrés.


Re performance; Je vois ce que tu veux dire. J'ai quelques applications SQL-Server qui vont directement pour les mêmes raisons - si nécessaire ;-p


Bon point. Lorsque j'ai commencé à utiliser Oracle et ODP.NET, j'apprends également WPF et la société était fatiguée de services Web. Dans le recul, je suggérerais à d'autres d'abord d'examiner les services et d'aborder le client instantané comme option secondaire.



7
votes

edit: strong> J'ai révisé cette réponse pour la modernisation. De plus, pour clarifier, ClickOnce est simplement un outil de déploiement d'applications, comment utiliser Oracle Client et ODP.Net avec votre demande est toujours déterminé par l'architecture. Voici un résumé des scénarios les plus courants:

Applications client intelligentes (Ex. Application client + Service Web) H3>

Votre application client déployée par ClickOnce est installée sur les machines des utilisateurs, mais parle à une sorte de service pour travailler avec des données. Dans ce scénario, votre application client n'a pas besoin de distribuer un client Oracle ou ODP.net. P>

Le package Oracle Client et ODP.NET doit être installé via les instructions normales d'Oracle sur la machine hébergeant le back-end. Service, et référencé de ce projet / application comme toute autre bibliothèque serait utilisé / distribué. p>

Client FAT "Déploiement mince" Applications (Ex. "FAT Client" sur Citrix) H3>

Votre application client déployée sur ClickOnce est "FAT" en ce sens qu'elle inclut sa propre couche de données, et doit donc être capable de se connecter à Oracle via un client installé localement et de faire référence aux bibliothèques ODP.NET. P>

Dans ce scénario, les packages ORACLE client et ODP.NET doivent être installés sur la machine d'hébergement (ex. Citrix Box) à l'aide des instructions standard d'Oracle et votre application doit référer les bibliothèques appropriées installées sur son ordinateur d'hébergement. P> Client de la graisse "Déploiement de la graisse" (Ex. Client FAT-Client sur les machines des utilisateurs) h3>

dans ce scénario, votre application Ation est un "client gras" typique en ce sens qu'il possède sa propre couche de données et doit pouvoir communiquer avec les bibliothèques ORACLE Client et ODP.NET. P>

Le scénario particulier Nous discutons ici est comment distribuer le client Oracle et ODP.net dans votre application (ex. Lorsque vos utilisateurs ne disposent pas de ces produits installés sur leurs machines). Vous trouverez ci-dessous des instructions: p>

  1. Téléchargez le Composants d'accès aux données Oracle package. P>

    (a) La version actuelle est la version 4 de l'ODAC 11.2 (11.2.0.3) et comprend une prise en charge de Microsoft Entity Framework 4. P>

    (b) Vous aurez besoin de la version 32 bits d'ODP.NET installée en tant que Visual Studio est une application 32 bits. Vous pouvez ensuite compiler à un processeur cible et une version de bits lorsque vous déployez. P> LI>

  2. dans le package ODAC est le client instantané Oracle et les bibliothèques ODP.NET. Vous devez copier les bibliothèques client instantanées sur votre application et les définir sur "Copier toujours" P> Li>

  3. référence oracle.dataaccess.client em> comme si vous le feriez d'autres libérations libellées, copier local = true code>. p> p> l>

  4. Votre chaîne de connexion doit ressembler à une entrée normale dans un tnsnames.ora code> fichier: p>

     Data Source=(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1521))(CONNECT_DATA = (SERVER = DEDICATED) (SID = oracle_world_here)));User Id=schema_here;Password=password_here;Persist Security Info=TRUE;
    


0 commentaires

0
votes

Le déploiement XCOPY est le plus proche que vous allez passer à un clic une fois le déploiement avec ODP.NET.

Je viens de répondre à un autre de vos messages ici sera beaucoup de détails sur le déploiement Xcopy.

S'il vous plaît jeter un oeil:

Comment écrire une application .NET qui fonctionne avec SQLServer et Oracle (maintenant que system.data.oracleclient est obsolète)

Christian Shay Oracle

EDIT: Oracle a annoncé que, de temps en 2011, ils publieront une version entièrement gérée du fournisseur ODP.NET (AKA THENT Client). Lorsque cela se produit, il n'y aura pas de dépendance de ODP.NET sur aucun autre fichier et ClickOnce Deployment sera plus simple.

N'hésitez pas à fournir vos commentaires sur cette information et d'autres fonctionnalités futures dans notre site Web de demande de fonctionnalité: http://apex.oracle.com/pls/apex/f?p=18357:46


0 commentaires

1
votes

2 commentaires

Seul Oracle pensera que entre 30 et 100 mégaoctets est une petite empreinte pour un client de base de données!


@Ian: C'est vrai. Mais au moins Xcopy Déploiement de 30 à 100 mégaoctets est une forte amélioration des 600 à 700 mégaoctets requises pour le logiciel client complet Oracle, qui doit être installé via l'installateur universel Oracle de Java ... :-)