如何解决odp.net 部署到64位服务器上

在64位的windows操作系统中安装了64位的Oracle后,使用C#通过Oracle.DataAccess.dll操作Oracle数据库时,
有时候会出现如下一些错误:” 无法加载 DLL“OraOps10.dll”: 找不到指定的模块。”而无法连接Oracle。如果是做成windows服务调用,
还可能会出现如下错误事件日志:“事件ID:1026,事件来源:.NET Runtime”,和“事件ID:1000,事件来源:Application Error,错误模块名称: KERNELBASE.dll”。

 


这可能就是C#程序中调用的Oracle.DataAccess.dll版本不是64位,且服务器上没有装64位版本的ODP.NET。

 

 

处理方法:

1.      下载64位的ODP.NET(官网有ODAC121012Xcopy_x64.zip文件下载,地址:http://www.oracle.com/technetwork/database/windows/downloads/index-090165.html),下载的时候要注意其中的“64-bit Oracle Data Provider for .NET”是否与开发使用的.netframework版本一致。

2.      安装ODP.NET,大概步骤如下:

(1)  将ODAC112021Xcopy_x64.zip解压到磁盘中的某个目录,如:“D:\software\ODAC121012Xcopy_x64.zip”,然后在命令行进入这个目录,输入如下命令:“install.bat all C:\odp.net myhome(install all components)”。

(2)  运行上述命令后,将自动将所有的文件拷贝到C:\odp.net目录下,接下来,在命令行进入C:\odp.net目录,运行一下命令:“configure.bat all myhome(configure all component) ”。上述命令将自动想GAC注册ODP.NET相关的dll,同时在vs2010中添加引用的时候能看到想要版本的Oracle.DataAccess.dll。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。