Est ODP.NET requis pour Oracle 11g Client?
J'ai peut-être se poser la mauvaise question ici, je suis prêt à changer de ce si.
J'ai un projet qui est à l'aide de la Microsoft.NET fournisseur Oracle (notre plan est de changer de ODP, mais nous n'avons pas encore fait).
Je suis en train de mettre ce projet à construire sur un windows 2008 (x64) serveur de build. Elle construit très bien, mais notre unité tests échouent quand ils ont frappé des trucs sur la base de données Oracle.
J'avais d'abord installé le 32 bits oracle 9i client qui est ce que nous utilisons actuellement sur notre winxp dev boîtes et le précédent 2003 serveur de build. Mais maintenant, cela devient un message du genre: Essayez de charger des bibliothèques clientes Oracle a jeté BadImageFormatException. Ce problème se produit lorsque vous exécutez en mode 64 bits avec la version 32 bits composants du client Oracle installé.
Nous avons essayé de compiler à la plate-forme x86, mais qui n'a pas changé le message d'erreur.
J'ai maintenant l'11g 64 bits installé, mais je reçois un message disant Système.Les données.OracleClient nécessite le logiciel client Oracle version 8.1.7 ou plus.
Ainsi que d'installation d'Oracle dois-je utiliser?
Edit:
J'ai pu obtenir que cela fonctionne. S'est avéré qu'il était à l'essai à l'origine du problème, en forçant NUnit pour s'exécuter en mode 32 bits: http://geekswithblogs.net/Lance/archive/2006/12/28/102191.aspx j'ai été en mesure d'obtenir les tests de travailler à l'aide de l'ancien 32 bits pilote. Ce serait une merde de répondre à la question si je ne suis pas à l'utiliser, mais fera un plaisir d'attribution de la réponse correcte à toute personne de mettre un peu d'info sur la transition vers l'Oracle 64bit pilotes.
OriginalL'auteur Jeff Martin | 2009-07-21
Vous devez vous connecter pour publier un commentaire.
Quand il s'agit de l'Oracle, j'aime utiliser Oracle Instant Client :
Vérifier Quel est le minimum d'encombrement client requis pour connecter le C# pour une base de données Oracle? pour plus d'informations. Pour savoir comment mettre en place un projet Visual Studio qui va travailler sur x86 ainsi que les machines x64, vérifiez mon blog Oracle Instant Client dans Visual Studio.
OriginalL'auteur Mac
Je suis en ajoutant un nouvel élément de réponse puisque dès cet automne (2012) l'ODP Code Managé version Bêta est disponible. Voir ce lien pour plus d'informations. Il est pour nous très stable et nous l'utilisons dans la production, principalement en raison de ces raisons:
Mais pour le passage à 64 bits, téléchargez la gestion de l'ODP pilote et modifier le
Oracle.DataAccess
référence àOracle.ManagedDataAccess
et recompiler 🙂OriginalL'auteur flindeberg
Je pense que le message "du Système.Les données.OracleClient nécessite le logiciel client Oracle version 8.1.7 ou plus" il est similaire à la "Oracle client n'est pas installé, est installé mais pas trouvé ou installés, mais il est nécessaire 8.1.7 ou plus".
Vérifier sur regedit si les valeurs sont en droit, en vertu de la clé:
Où
OraOdac11g_home1
dépend de l'Oracle de la Maison nom pour votre installation.Aussi, essayez de vous connecter par le biais de Visual Studio pour voir si c'est possible.
OriginalL'auteur FerranB
J'ai eu un problème qui pourrait se rapporter à ce que vous voyez.
Au début, j'avais juste le client Oracle 10g installé sur ma machine et le .Net Oracle.DataAccess composant le numéro de version a été 10.2.0.100 - c'était pour .Net v1.0.3705
J'ai installé ODP.Net et l'Oracle.DataAccess version de composant est maintenant en v2.102.2.20 et fonctionne sur .Net v2.0.50727 - je ne peux pas trouver la référence de pourquoi Oracle a fait cela - il a quelque chose à voir avec l'entrée de numéros de version dans la ligne avec la version d'exécution de la
Il m'a fallu une journée pour faire ce travail. Nous n'avons pas utiliser la 11g client et je n'ai pas utilisé le 8i client pour l'âge, donc je ne sais pas ce que les numéros de version serait pour les clients, mais j'aimerais vérifier si j'étais vous, quoi.
En bref, Oracle revenue les numéros de version des composants qui pourrait être de faire votre 11g composante semble être out-of-date, par opposition à Oracle 8i composants
OriginalL'auteur Chris Gill
J'ai trouvé beaucoup de fois que le message d'erreur "nécessite le logiciel client Oracle version 8.1.7 ou plus" est une notoirement erreur trompeur. De lointain, de mémoire il me semble me rappeler que cela indique généralement un fichier IO problème d'autorisations. Je pense que c'est peut être que le ASP.NET processus de travail (ou celui de l'identité d'une application est en cours d'exécution en vertu de l') exige une sorte de lecture ou d'écriture à un dossier dans le client oracle hiérarchie de dossiers...
OriginalL'auteur rohancragg
Cela peut être une cause de multiples oracle maisons dans l'environnement. Supprimer l'ancienne version d'oracle à la maison dans votre système de construction. essayez de générer le construire à nouveau avec la seule à la maison. Il y a quelques problèmes avec la version 9i ODP.NET et 10G/11G connectivité
OriginalL'auteur Govind