【问题标题】:Connection nHibernate to Oracle Issues连接 nHibernate 到 Oracle 问题
【发布时间】:2010-08-26 11:25:18
【问题描述】:

我正在尝试使用 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()

有什么建议吗? 编辑:我已将 Test Driven 程序集添加到 GAC 中,但现在出现了不同的错误:

NHibernate.HibernateException : IDbCommand 和 IDbConnection 在大会中实施 找不到 Oracle.DataAccess。 确保组装 Oracle.DataAccess 位于 应用程序目录或全局 程序集缓存。如果装配在 GAC,使用 应用程序中的元素 配置文件来指定完整的 程序集的名称。

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

【问题讨论】:

  • GAC 中有 TestDriven 程序集吗?
  • 不,是现在。我得到另一个错误。
  • 你的机器上安装了完整的 oracle 客户端吗?这是一个真正的痛苦,当我最后一次使用它时,我想我最终解决了 MS 驱动程序中的 blob 问题,因为 Oracle 驱动程序不可靠(随机错误很难重现,如果不是不可能的话)。跨度>

标签: oracle nhibernate configuration testdriven.net


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多