ASP.NET在IIS上部署使用Oracle資料庫無法串連資料庫解決方案(轉載) 10小時前
ASP.NET在IIS上部署使用Oracle資料庫無法串連資料庫解決方案(轉載)
分類: ASP.NET| 標籤:|字型大小大中小 訂閱 注意:http://192.168.65.225 為我的伺服器;
在Oracle/bin檔案夾上右鍵-------共用和安全------安全-----點擊“添加”按鈕,出現下面的介面
2.點擊“進階”----“立即尋找”,在下面顯示的賬戶中選擇“NTWORK SERVICE”(注意:IIS6中aspnet的賬戶是NTWORK SERVICE;而在IIS5中是aspnet。) ----將所有的許可權都賦予----確定。
3.在“電腦管理”(哈哈,如果不知道怎麼進入那就沒辦法說了)-----雙擊右側的Administrators------將上一步搜尋出來的賬戶添加進去。
今天在串連Oracle的時候碰到一個問題,我的機器裝的是Oracle10g用戶端,當在asp.net應用中使用資料訪問的組件(調用System.Data.OracleClient)時,程式報“System.Data.OracleClient 需要 Oracle 用戶端軟體 8.1.7 或更高版本。 ”的錯誤,無法建立OracleConnection,但我在該伺服器上用vs2008運行程式時候確可以的喔!。
找了半天 ,終於搞清楚了原因。原來當Oracle 9.2運行在NTFS的分區上時,對於某些非administrator組的使用者,ORACLE_HOME 目錄是不可見的,而在windows server 2003下asp.net應用使用的帳戶是netword service,因此無法建立oracle串連,只要重設一下ORACLE_HOME目錄的許可權就可以了。步驟如下:
1、以管理員的使用者登入;
2、找到ORACLE_HOME檔案夾(我的是C:/oracle/ora92),點右鍵,選屬性--安全,在組或使用者欄中選“Authenticated Users”,在下面許可權列表中把“讀取和運行”的許可權去掉,再按應用;重新選上“讀取和運行”許可權,點擊應用;選許可權框下面的“進階”按鈕,確認“Authenticated Users”後面的應用於是“該檔案夾、子檔案夾及檔案”,按確定把許可權的更改應用於該檔案夾;
3、重新啟動電腦,讓使用權限設定生效(請注意,這一步很重要);
4、登入後運行asp.net應用,正常取得Oracle資料庫的資料。 (轉載) 4.重新啟動IIS即可。可以在“運行”中輸入“IISRESET”。 注意:上面這些是設定許可權方面的,如果配置完上面這些報ORA-12154的錯誤,需要在伺服器上配置“Net Configuration Assistant”。