NHibernate 和 ODP.NET

十一前在国内部帮忙,使用 ODP.NET 连接 Oracle 9i。但是在配置 NHibernate Driver 时遇到了一些问题,使用 NHibernate.Driver.OracleDataClientDriver 将抛出如下异常:

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, use <qualifyAssembly/> element in the application configuration file to specify the full name of the assembly.

安装时,ODP.NET for 9i 默认是将 DLL 注册到 GAC 中的,Project 中引用后 DAAB 是好用的,NH 中应该不会出问题才对,怎么会提示找不到 Oracle.DataAccess 呢?

仔细一看提示信息才知道,如果使用了 GAC,就要使用 qulifyAssembly 来解决该问题,具体请参加  MSDN 中的相关章节。

其实,除了采用上面的方法之外,我们还可以直接将 Oracle.DataAccess.dll 文件 copy 到 Lib 文件夹下,再在 Project 中引用 Lib 文件夹下的 Oracle.DataAccess 文件。这样,重新编译后,将在 Bin 文件夹下找到该问题,运行时就不会出现上面的错误信息了。

注:为了便于项目管理,我们在建立 Solution 时,其下包含一个 Lib 文件夹,并将所有用到的第三方 DLL 统统放在 Lib 中。

转载于:https://www.cnblogs.com/gucsnet/archive/2008/10/09/1307318.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值