我正在尝试使用NHIBERNATE连接到Oracle数据库。我可以使用.NET驱动程序连接:

<property name="connection.driver_class">NHibernate.Driver.OracleClientDriver</property>

但是,我更喜欢使用带有Oracle(或Nhibernate?我忘记)的OracleDataClientDriver。无论如何,我正在使用此博客的说明:

http://tiredblogger.wordpress.com/2008/11/07/using-oracle-oracle-odp-with-nhibernate-from-ac-class-library/

一切都很好,但是当我将app.config添加到我的单元测试类中时:

<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>

并尝试运行测试,我会收到以下错误:

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()

有建议吗?编辑: :我已将测试驱动的组件添加到GAC中,现在遇到了不同的错误:

nhibernate.HibernateException:iDBCommand和IDBConnection在汇编Oracle.DataAccess中找不到。确保汇编Oracle.dataAccess位于应用程序目录或全局汇编缓存中。如果程序集在GAC中,请使用应用程序配置文件中的元素来指定程序集的全名。

这是与app.config中要解决的相同错误。 oracle.dataaccess已添加到GAC中,我还在应用程序文件夹中尝试了它。然而错误仍然出现。

有帮助吗?

解决方案

我没有在该错误中看到对Oracle(或Nhibernate)的任何引用。

无论如何,我建议您升级到NH 3.0 alpha2。不再需要装配夹具的东西。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top