我有一个使用Vb.net9在Vista上开发的网站.它与Oracle建立了连接.对于连接,我使用System.Data.OracleClient.它在我的机器和我们的测试服务器上工作正常,但它在生产服务器上不起作用.我们在服务器上安装了Oracle Client 11.错误是System.Data.OracleClient需要Oracle客户端软件版本8.1.7
我们已经尝试过,制作一个打开连接的控制台应用程序,连接运行良好,打开,显示消息,一切都很顺利.
然后我们制作一个简单的Web表单,将其放在程序目录中,只需一个按钮,打开连接,try..catch,抓取错误,同样的错误.
控制台应用程序在iwam下运行的管理员网站下运行.iwam有可能有不同的路径吗?
我遇到过这个错误几十次:
原因
使用NTFS在Windows上安装Oracle客户端时,未正确设置安全权限.结果是ORACLE_HOME目录的内容对机器上的Authenticated Users不可见; 当System.Data.OracleClient使用Authenticated User权限从ASP.NET与Oracle Connectivity软件通信时,这会导致错误.
解
要解决此问题,您必须将Authenticated Users组权限授予Oracle主目录.
以具有管理员权限的用户身份登录Windows.
启动Window Explorer并导航到ORACLE_HOME文件夹.
在ORACLE_HOME文件夹中选择属性.
单击"属性"窗口的"安全"选项卡.
单击"名称"列表中的"Authenticated Users"项.
取消选中"允许"列下"权限"列表中的"读取和执行"框.
重新检查"允许"列下的"读取并执行"框.
单击"高级"按钮,然后在"权限条目"中验证"Authenticated Users"是否列出了permission ="Read&Execute",并且Apply To ="此文件夹,子文件夹和文件".如果没有,请编辑该行并确保"应用于"下拉框设置为"此文件夹,子文件夹和文件".这应该已经正确设置,但验证它很重要.
单击"确定"按钮,直到关闭所有安全属性窗口.光标可能会将小时玻璃显示几秒钟,因为它会将您刚刚更改的权限应用于所有子文件夹和文件.
重新启动,以确保更改已生效.
再试一次你的申请.