连接nHibernate到Oracle问题

时间:2010-08-26 11:25:19

标签: oracle nhibernate configuration testdriven.net

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

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

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

http://tiredblogger.wordpress.com/2008/11/07/using-oracle-odp-with-nhibernate-from-a-c-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:The   IDbCommand和IDbConnection   在程序集中实现   找不到Oracle.DataAccess。   确保装配   Oracle.DataAccess位于   应用程序目录或全局   程序集缓存。如果组件在   GAC,使用   应用程序中的元素   配置文件指定完整   集会的名称。

与App.Config中要解决的错误相同。 Oracle.DataAccess已添加到GAC中,我也在应用程序文件夹中尝试过它。但仍然出现错误。

1 个答案:

答案 0 :(得分:0)

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

无论如何,我建议您升级到NH 3.0 Alpha2。不再需要assemblyBinding东西了。