Oracle數(shù)據(jù)庫在Server 2008中的使用
8:13:49 一直想整理出這幾個問題但是找不出時間來,今天周末靜下心來寫點東西。
最近做的項目中出現(xiàn)了Oracle數(shù)據(jù)庫訪問,客戶要求程序最終發(fā)布在Server 2008(64位SP2)中,先前的SQL Server數(shù)據(jù)庫也安裝在這臺Server 2008中,于是也想把Oracle數(shù)據(jù)庫安裝在這臺服務(wù)器上,安裝普通的Oracle 9i數(shù)據(jù)庫版本是Oracle(R) Enterprise Manager 版本9.2.0.1.0正式版,總是安裝不成功,有幾個檢測過不去,估計是因為這個Oracle 9i是32位的,它不能安裝在這臺服務(wù)器上,于是就去下載一個Oracle 11g(64)安裝成功了,但是在開發(fā)及其中安裝Oracle 11g客戶端時候,這邊又安裝不上了,開發(fā)的機器是32位的,沒有辦法,在我的這個開發(fā)機器上裝上Oracle 9i服務(wù)端暫時用著,好多人等著寫代碼呢,暫時開發(fā)部這邊是搞定了。
這里有個小插曲,開發(fā)人員在自己的機器上裝上Oracle 9i客戶端和PL\SQL都能連接上我的服務(wù)器,但是從VS2005中來訪問數(shù)據(jù)庫就不行了,提示的“System.Data.OracleClient 需要 Oracle 客戶端軟件 8.1.7 或更高版本?!卞e誤,相信很多剛剛接觸Oracle的朋友也遇到過,在網(wǎng)上找到了解決方法。
原因:
Oracle 9i 客戶端在安裝到Windows的NTFS分區(qū)下時的安全認(rèn)證設(shè)置不正確,引起本機的Authenticated Users用戶無法看到ORACLE_HOME目錄下的內(nèi)容; 這導(dǎo)致在ASP.NET以Authenticated Users權(quán)限使用System.Data.OracleClient連接Oracle數(shù)據(jù)庫時報出以上錯誤。
解決:
要解決以上問題,只要給Authenticated Users 組加上訪問Oracle Home目錄的權(quán)限即可
1、以Administrator權(quán)限登錄Windows.
2、啟動Window 資源瀏覽器找到ORACLE_HOME目錄,如C:\Oracle\ora92
3、右鍵彈出菜單,選擇該目錄共享與安全(Win2000下要點擊屬性)
4、點擊 “安全” 頁簽
5、在組和用戶名稱列表中點擊“Authenticated Users” 項.
6、在該用戶的權(quán)限列表中,將“讀取和運行”的選擇框置為不選中狀態(tài)
7、再次點擊“讀取和運行”的選擇框,將其設(shè)置為選中狀態(tài)
8、點擊“高級”按鈕并在權(quán)限項目中確定“Authenticated Users” 是否擁有“讀取并運行”權(quán)限并應(yīng)用于“該文件夾,及子文件夾和文件”. 如果不是,雙擊這樣,并確保權(quán)限可以“應(yīng)用于” “該文件夾,及子文件夾和文件”. 該項非常重要你一定要核查.
9、點擊“確定” 按鈕
10、重啟動, 以使得所有的修改生效.
上面的問題困擾了我半天的時間總算弄好了, 程序?qū)懞昧?,發(fā)給測試部,又出毛病了,測試部將程序發(fā)布在Server 2008上在那邊通過Server 2008環(huán)境來訪問普通機器上的Oracle服務(wù)器總是程序總是不能連接上數(shù)據(jù)庫,估計還是操作系統(tǒng)位數(shù)的問題后來請教了很多公司的高手都沒能搞定,后來發(fā)現(xiàn)原來.NET中的ConsoleApplication項目和ClassLiberary項目都可以設(shè)置運行環(huán)境的具體設(shè)置如下:
1.右擊這個項目名->屬性

2.點擊生成->目標(biāo)平臺,級可以看到X32,X64,Any CPU,在默認(rèn)情況下這里會根據(jù)操作系統(tǒng)的情況自己設(shè)定,把這里修改成X64

這樣設(shè)定好之后就可以通過Server 2008來訪問XP機器上的Oracle數(shù)據(jù)庫了,普通的ConsoleApplication項目中訪問沒有問題,但是后來試驗一個WebSite發(fā)現(xiàn)右擊這個WebSite沒有屬性選項,傻眼了,后來心想,WebSite不可能直接去訪問數(shù)據(jù)庫的啊,要有中間層的就是一個ClassLiberary,三層架構(gòu)啊,于是按照上面的方法設(shè)置ClassLiberary,還是不行,到這里是實在沒有辦法了,那位朋友有過類似的經(jīng)歷,發(fā)表點見解啊,不勝感激?。?!
開發(fā)部這邊的環(huán)境是
操作系統(tǒng): Microsoft Windows XP Professional 版本2002 + Service Pack 2
Oracle服務(wù)端:Oracle(R) Enterprise Manager 版本9.2.0.1.0正式版
Oracle客戶端e: Oracle(R) Enterprise Manager 版本9.2.0.1.0正式版
測試那邊
程序發(fā)布在:Windows Server 2008 standard(64位) + Service Pack 2 + Oracle 11G客戶端
Oracle服務(wù)端:Microsoft Windows XP Professional 版本2002 + Service Pack 2
+Oracle(R) Enterprise Manager 版本9.2.0.1.0正式版
最近做的項目中出現(xiàn)了Oracle數(shù)據(jù)庫訪問,客戶要求程序最終發(fā)布在Server 2008(64位SP2)中,先前的SQL Server數(shù)據(jù)庫也安裝在這臺Server 2008中,于是也想把Oracle數(shù)據(jù)庫安裝在這臺服務(wù)器上,安裝普通的Oracle 9i數(shù)據(jù)庫版本是Oracle(R) Enterprise Manager 版本9.2.0.1.0正式版,總是安裝不成功,有幾個檢測過不去,估計是因為這個Oracle 9i是32位的,它不能安裝在這臺服務(wù)器上,于是就去下載一個Oracle 11g(64)安裝成功了,但是在開發(fā)及其中安裝Oracle 11g客戶端時候,這邊又安裝不上了,開發(fā)的機器是32位的,沒有辦法,在我的這個開發(fā)機器上裝上Oracle 9i服務(wù)端暫時用著,好多人等著寫代碼呢,暫時開發(fā)部這邊是搞定了。
這里有個小插曲,開發(fā)人員在自己的機器上裝上Oracle 9i客戶端和PL\SQL都能連接上我的服務(wù)器,但是從VS2005中來訪問數(shù)據(jù)庫就不行了,提示的“System.Data.OracleClient 需要 Oracle 客戶端軟件 8.1.7 或更高版本?!卞e誤,相信很多剛剛接觸Oracle的朋友也遇到過,在網(wǎng)上找到了解決方法。
原因:
Oracle 9i 客戶端在安裝到Windows的NTFS分區(qū)下時的安全認(rèn)證設(shè)置不正確,引起本機的Authenticated Users用戶無法看到ORACLE_HOME目錄下的內(nèi)容; 這導(dǎo)致在ASP.NET以Authenticated Users權(quán)限使用System.Data.OracleClient連接Oracle數(shù)據(jù)庫時報出以上錯誤。
解決:
要解決以上問題,只要給Authenticated Users 組加上訪問Oracle Home目錄的權(quán)限即可
1、以Administrator權(quán)限登錄Windows.
2、啟動Window 資源瀏覽器找到ORACLE_HOME目錄,如C:\Oracle\ora92
3、右鍵彈出菜單,選擇該目錄共享與安全(Win2000下要點擊屬性)
4、點擊 “安全” 頁簽
5、在組和用戶名稱列表中點擊“Authenticated Users” 項.
6、在該用戶的權(quán)限列表中,將“讀取和運行”的選擇框置為不選中狀態(tài)
7、再次點擊“讀取和運行”的選擇框,將其設(shè)置為選中狀態(tài)
8、點擊“高級”按鈕并在權(quán)限項目中確定“Authenticated Users” 是否擁有“讀取并運行”權(quán)限并應(yīng)用于“該文件夾,及子文件夾和文件”. 如果不是,雙擊這樣,并確保權(quán)限可以“應(yīng)用于” “該文件夾,及子文件夾和文件”. 該項非常重要你一定要核查.
9、點擊“確定” 按鈕
10、重啟動, 以使得所有的修改生效.
上面的問題困擾了我半天的時間總算弄好了, 程序?qū)懞昧?,發(fā)給測試部,又出毛病了,測試部將程序發(fā)布在Server 2008上在那邊通過Server 2008環(huán)境來訪問普通機器上的Oracle服務(wù)器總是程序總是不能連接上數(shù)據(jù)庫,估計還是操作系統(tǒng)位數(shù)的問題后來請教了很多公司的高手都沒能搞定,后來發(fā)現(xiàn)原來.NET中的ConsoleApplication項目和ClassLiberary項目都可以設(shè)置運行環(huán)境的具體設(shè)置如下:
1.右擊這個項目名->屬性

2.點擊生成->目標(biāo)平臺,級可以看到X32,X64,Any CPU,在默認(rèn)情況下這里會根據(jù)操作系統(tǒng)的情況自己設(shè)定,把這里修改成X64

這樣設(shè)定好之后就可以通過Server 2008來訪問XP機器上的Oracle數(shù)據(jù)庫了,普通的ConsoleApplication項目中訪問沒有問題,但是后來試驗一個WebSite發(fā)現(xiàn)右擊這個WebSite沒有屬性選項,傻眼了,后來心想,WebSite不可能直接去訪問數(shù)據(jù)庫的啊,要有中間層的就是一個ClassLiberary,三層架構(gòu)啊,于是按照上面的方法設(shè)置ClassLiberary,還是不行,到這里是實在沒有辦法了,那位朋友有過類似的經(jīng)歷,發(fā)表點見解啊,不勝感激?。?!
開發(fā)部這邊的環(huán)境是
操作系統(tǒng): Microsoft Windows XP Professional 版本2002 + Service Pack 2
Oracle服務(wù)端:Oracle(R) Enterprise Manager 版本9.2.0.1.0正式版
Oracle客戶端e: Oracle(R) Enterprise Manager 版本9.2.0.1.0正式版
測試那邊
程序發(fā)布在:Windows Server 2008 standard(64位) + Service Pack 2 + Oracle 11G客戶端
Oracle服務(wù)端:Microsoft Windows XP Professional 版本2002 + Service Pack 2
+Oracle(R) Enterprise Manager 版本9.2.0.1.0正式版
作者:Tyler Ning
出處:http://www.rzrgm.cn/tylerdonet/
本文版權(quán)歸作者和博客園共有,歡迎轉(zhuǎn)載,但未經(jīng)作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,如有問題,請微信聯(lián)系冬天里的一把火
浙公網(wǎng)安備 33010602011771號