2010-08-20 3 views
0

J'ai un service Web C# ASMX qui utilise Oracle.DataAccess.Client pour se connecter à une base de données Oracle. Lorsque je tente d'appeler une méthode web, je reçois ce message d'erreur:WebService pour utiliser ODP.NET à partir d'un partage de fichiers

Impossible de charger dll « OraOps10.dll »

Il est le même problème que asked before, avec la différence importante que je avoir ODAP (au moins j'ai OraOps10.dll dans le répertoire bin d'une installation client Oracle), mais il est installé sur un partage de fichiers (W :), et non enregistré sur ma machine (où le service Web s'exécute sur le test de VisualStudio serveur Web).

Même lorsque j'ai essayé et copié ladite DLL dans le répertoire bin/du service Web, il ne le trouvait pas. Le stacktrace ressemble à ce qu'il cherche dans le registre.

Est-il possible de dire à mon service Web où trouver l'installation ODAP? (Réglez le ORACLE_HOME dans le web.config ou similaire)

(S'il vous plaît noter: Un travail d'installation du client Oracle est disponible sur chaque machine cible et il fonctionne très bien pour ouvrir une connexion Oracle avec System.Data.Oracle, seulement cette installation client ne semble pas inclure l'ODAP: Je ne trouve pas d'entrée "Oracle" dans "Ajouter une référence -> .NET". *)

Répondre

2

Si je lis correctement, il semble que vous ayez le client Oracle installé localement mais pas le client ODP.net installé localement - plutôt il est 'installé' sur un autre ordinateur mais il utilise sa maison ORA comme le lecteur 'W:' partagé. Savez-vous quel type d'installation ODP se trouve sur le lecteur W :)? Si c'est XCOPY (mais vous pouvez aussi l'essayer en toute sécurité avec une installation classique), vous pouvez être sûr d'ajouter simplement les variables PATH: (comme toujours, avant de faire le tour du PATH ou du registre BACK IT UP) http://www.oracle.com/technetwork/oramag/2008/08-nov/o68odpnet-101744.html

étape 8: la dernière étape de l'installation d'Oracle de données Access Components et Oracle Instant client de base de données sur la machine de développeur est d'ajouter deux éléments à la variable d'environnement Path. Cliquez avec le bouton droit sur l'icône Poste de travail et sélectionnez Propriétés dans le menu contextuel . Ensuite, cliquez sur l'onglet Avancé dans la boîte de dialogue Propriétés système et puis cliquez sur le bouton Variables d'environnement . Dans le groupe Variables système, localisez la variable Path dans la liste (faites défiler vers le bas si nécessaire). Cliquez sur la variable de chemin dans la liste, puis sur cliquez sur Modifier. Dans la boîte de dialogue Modifier le système , placez le curseur au début des entrées et tapez C: \ oracle \ 11.1 \ odac; C: \ oracle \ 11.1 \ odac \ bin; .Cliquez sur OK pour fermer la Edit System boîte de dialogue Variable, cliquez sur OK pour fermer la boîte de dialogue Variables d'environnement, et enfin cliquez sur OK pour fermer la boîte de dialogue Propriétés système

En ce qui concerne le registre; vérifier

MLH \ SOFTWARE \ ORACLE \ ODP.NET

Un moyen sûr de faire fonctionner est d'installer ODP localement sur la zone de test, mais les variables de chemin doit être tout ce que vous avoir besoin. Vous pouvez trouver les fichiers @ http://www.oracle.com/technetwork/topics/dotnet/whatsnew/index.html

+0

merci, je vais essayer après le week-end. Comme pour le registre: Cette clé n'existe pas dans mon registre. Je n'ai pas de variable d'environnement ORACLE_HOME. Dans le registre, une maison est définie. Celui-là est aussi sur le lecteur W: \ mais c'est une installation différente (9i contre 10g) – chiccodoro

Questions connexes