Connexion NHibernate Problèmes Oracle
-
01-10-2019 - |
Question
Je suis en train de se connecter à une base de données Oracle en utilisant NHibernate. Je peux vous connecter en utilisant le pilote .Net:
<property name="connection.driver_class">NHibernate.Driver.OracleClientDriver</property>
Cependant, je préférerais utiliser le OracleDataClientDriver livré avec Oracle (ou NHibernate? J'oublie). Quoi qu'il en soit, j'utilisais les instructions de ce blog:
http://tiredblogger.wordpress.com/2008/11/07/using-oracle-odp-with-nhibernate-from-ac-class-library/
Tout est bien, mais quand j'ajoute le app.config avec le paramètre suivant à ma classe de test Unité:
<runtime>
<assemblyBinding xmlns=“urn:schemas-microsoft-com:asm.v1“>
<qualifyAssembly partialName=“Oracle.DataAccess“
fullName=“Oracle.DataAccess,
Version=2.111.6.20,
Culture=neutral,
PublicKeyToken=89b483f429c47342“ />
</assemblyBinding>
</runtime>
Et tenter d'exécuter mon test, je reçois l'erreur suivante:
Test 'M:UTOracleImporter.UT_SchemaDAO.Test_GetCustomer' failed: Could not load type 'TestDriven.Framework.Resident.IResidentTestRunner' from assembly 'TestDriven.Framework, Version=2.0.0.0, Culture=neutral, PublicKeyToken=50ecb853f8c6b8d2'.
System.TypeLoadException: Could not load type 'TestDriven.Framework.Resident.IResidentTestRunner' from assembly 'TestDriven.Framework, Version=2.0.0.0, Culture=neutral, PublicKeyToken=50ecb853f8c6b8d2'.
at TestDriven.TestRunner.AdaptorTestRunner.Run(ITestListener testListener, ITraceListener traceListener, String assemblyPath, String testPath)
at TestDriven.TestRunner.ThreadTestRunner.Runner.Run()
Un conseil? Modifier : J'ai ajouté les assemblages Driven de test au GAC et maintenant je obtenir une autre erreur:
NHibernate.HibernateException: La IDbCommand et IDbConnection la mise en œuvre dans l'ensemble n'a pu être trouvée Oracle.DataAccess. Assurez-vous que l'assemblage Oracle.DataAccess est situé dans le répertoire de l'application ou dans le mondial Cache Assemblée. Si l'ensemble est en le GAC, l'utilisation élément dans la demande fichier de configuration pour spécifier le plein nom de l'assemblée.
Quelle est la même erreur qu'il voulait aborder dans le App.Config. Le Oracle.DataAccess a été ajouté au GAC et je l'ai aussi essayé dans le dossier de l'application. Cependant, l'erreur apparaît toujours.
La solution
Je ne vois aucune référence à Oracle (ou NHibernate) dans cette erreur.
Dans tous les cas, je vous recommande de mise à niveau vers NH 3.0 alpha2. Les trucs de assemblyBinding est plus nécessaire.