我正在尝试使用Microsoft的System.Data.OracleClient将Nhibernate与Oracle一起使用
Nhibernate配置(Microsoft驱动程序是否正确?)
true NHibernate.Connection.DriverConnectionProvider true NHibernate.Caches.SysCache.SysCacheProvider, NHibernate.Caches.SysCache true NHibernate.Dialect.Oracle9Dialect NHibernate.Driver.OracleDataClientDriver Data Source=localhost;User Id=jbadmin;Password=justbooks12;Integrated Security=no;
抛出异常,
The IDbCommand and IDbConnection implementation in the assembly Oracle.DataAccess could not be found. Ensure that the assembly Oracle.DataAccess is located in the application directory or in the Global Assembly Cache. If the assembly is in the GAC, useelement in the application configuration file to specify the full name of the assembly.
我尝试将System.Data.OracleClient.dll复制到输出bin目录.它没有帮助.我还尝试将Oracle Client dll复制到输出bin目录.它也没有帮助.
例外情况说未找到"Oracle.DataAccess"程序集.但是在Microsoft的System.Data.OracleClient中没有这样的程序集.它在搜索Oracle的ODP驱动程序吗?
编辑:如果上面的配置错误,请通过发布System.Data.OracleClient的配置来帮助我
您的配置中的这一行:
NHibernate.Driver.OracleDataClientDriver
指示NHibernate使用Oracle.DataAccess.dll中的ODP.NET驱动程序.这允许NHibernate利用连接池和跟踪等ODP.NET功能.根据安装的Oracle客户端软件的版本,您应该找到此程序集的副本,例如C:\ Oracle\product\10.1.0\Client_1\BIN \
如果您更喜欢使用Microsoft的System.Data.OracleClient驱动程序,请将此行更改为:
NHibernate.Driver.OracleClientDriver