oracleclient連oracle庫 報System.Data.OracleClient 須要 Oracle 客戶端軟件 8.1.7 或更高版本

在iis下發布eworkflow+eform+ebiao的代碼,訪問oracle的數據庫,用oracleClient或者oledb的方式鏈接,有時會報「System.Data.OracleClient 須要 Oracle 客戶端軟件 8.1.7 或更高版本。 」的錯誤,沒法建立OracleConnection

緣由:
Oracle 9.2運行在NTFS的分區上時,對於某些非administrator組的用戶,ORACLE_HOME 目錄是不可見的,而在windows server 2003或xp下asp.net應用使用的賬戶是netword service,所以沒法建立oracle鏈接,只要重設一下ORACLE_HOME目錄的權限就能夠了。

解決辦法:
一、以管理員的用戶登陸;
二、找到ORACLE_HOME文件夾(個人是d:/oracle/ora92),點右鍵,選屬性--安全,在組或用戶欄中選「Authenticated Users」,在下面權限列表中把「讀取和運行」的權限去掉,再按應用;從新選上「讀取和運行」權限,點擊應用;選權限框下面的「高級」按鈕,確認「Authenticated Users」後面的應用因而「該文件夾、子文件夾及文件」,按肯定把權限的更改應用於該文件夾;
三、從新啓動計算機,讓權限設置生效(請注意,這一步很重要);
四、登陸後運行asp.net應用,正常取得Oracle數據庫的數據。


應用Authenticated Users的權限時間可能很長,由於ora92目錄中的文件數量不少。

注意:上面這些是設置權限方面的,若是配置完上面這些報ORA-12154的錯誤,須要在服務器上配置「Net Configuration Assistant」。
數據庫

相關文章
相關標籤/搜索