asp.net无法加载oci.dll的解决方法

发布时间:2020-09-22编辑:脚本学堂
本文介绍下,在windows2003系统中,访问oracle9i提示“无法加载oci.dll”问题的解决方法,有遇到类似问题的朋友参考下吧。

asp.net写的程序,在windows2003下访问oracle9i,提示“无法加载oci.dll”或"无法在dll oci.dll中找到名为ocienvcreate的入口点 ",这里分享下我的解决方法,供大家参考。

方法1,修复方法:
1,找到oracle客户端的安装目录,例如:E:/oracle/ora92,选中目录,在“属性--安全”里面删掉“ASP .NET、Users用户”然后再添加进去,并赋予“完全控制或者修改权限”;将everyone赋予“完全控制或者修改权限”,注意:网站的目录权限也要设置为ervryone完全访问,否则oracle好了,网站也是无法访问,重启。
2,启用ASP .Net用户模拟,在web.config的<system.web></system.web>配置节中,增加:
<identity impersonate="true" userName="USER" password="PASSWORD"/>
例如:<identity impersonate="true" userName="administrator" password="123456"></identity>

方法2,把oraclient8.dll,orasql9.dll,oci.dll拷贝到System32。
 

复制代码 代码示例:
[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSDTC/MTxOCI]
“OracleXaLib”=”oraclient8.dll”
“OracleSqlLib”=”orasql8.dll”
“OracleOciLib”=”oci.dll”

如果你用的是xp系统,第一种方法中的属性中是默认没有安全选项的。
解决办法:
工具->文件夹选项->查看,去掉"使用简单文家共享"的选项即可。

附,其它可用的方法。
1,解决ASP.NET连接Oracle数据库出现无法加载DLL(oci.dll),在文件夹选项中取消□采用简单文件共享(推荐)。

2,ORACLE_HOME 路径所在的分区格式是NTFS格式:
Oracle安装目录下ora92属性->安全
权限设置为everyone可以访问或设成ASPNET用户可以访问即可,以确保ASP.NET用户有权限访问oci.dll。