解决方法一
修复方法:
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>
解决办法二
研究了很久,什么目录权限啊,注册表啊,都没有见效。
最终无奈之下把oraclient8.dll,orasql9.dll,oci.dll拷贝到System32解决问题。
[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSDTC/MTxOCI]
“OracleXaLib”=”oraclient8.dll”
“OracleSqlLib”=”orasql8.dll”
“OracleOciLib”=”oci.dll”
对于xp系统第一种方法中的,属性中是默认没有安全选项的,解决办法:工具->文件夹选项->查看,去掉"使用简单文家共享"的选项即可
附其它办法
解决ASP.NET连接Oracle数据库出现无法加载DLL(oci.dll)
在文件夹选项中取消□采用简单文件共享(推荐)
ORACLE_HOME 路径所在的分区格式是NTFS格式:
Oracle安装目录下ora92属性->安全
权限设一下任何人都可以访问或是设成ASPNET这个用户可以访问就行了
确保ASP.NET用户有权限访问oci.dll。