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應用使用的帳戶是network service,因此無法創建oracle連接,只要重設一下ORACLE_HOME目錄的權限就可以了。

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


應用Authenticated Users的權限時間可能很長,因爲ora92目錄中的文件數量很多。

注意:上面這些是設置權限方面的,如果配置完上面這些報ORA-12154的錯誤,需要在服務器上配置“Net Configuration Assistant”。

發佈了8 篇原創文章 · 獲贊 1 · 訪問量 7288
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章