環(huán)境變量導(dǎo)致ASP.Net無法連接Oracle的一個(gè)案例
本文主要介紹了ASP.Net無法連接Oracle的一個(gè)案例:即一個(gè)vs2003開發(fā)的老系統(tǒng),在本地調(diào)試沒有問題,發(fā)布到服務(wù)器上后發(fā)現(xiàn)無法連接數(shù)據(jù)庫,在Open的時(shí)候報(bào)錯(cuò)如下:
System.Data.OracleClient requires Oracle client software version 8.1.7 or greater.
在網(wǎng)上查了很多介紹,都是說Oracle目錄的權(quán)限設(shè)置有問題。于是就將Oracle目錄的權(quán)限設(shè)定為Everyone完全控制,可是一點(diǎn)不起作用。難道要重啟服務(wù)器嗎?我又重新啟動(dòng)了服務(wù)器,3分鐘后再測試,問題依舊。
難道是開發(fā)工具的問題?于是打開VS2008隨便新建一個(gè)網(wǎng)站測試數(shù)據(jù)庫連接,可是仍然報(bào)出同樣的錯(cuò)。
正在我郁悶的不行的時(shí)候,看到桌面上的Toad,打開Toad連數(shù)據(jù)庫試一試,結(jié)果也無法連接數(shù)據(jù)庫,提示Can't initialize OCI. Error -1。這個(gè)Toad的報(bào)錯(cuò)我見過,意思是系統(tǒng)環(huán)境變量中沒有Oracle的BIN目錄。打開cmd,輸入echo %path%查看系統(tǒng)Path變量的值,其中的幾個(gè)目錄中確實(shí)沒有Oracle的BIN目錄,看來問題原來在這里。
解決方法:
我的電腦右鍵->內(nèi)容->進(jìn)階->環(huán)境變量->在系統(tǒng)變量中雙擊Path項(xiàng),在變量值***輸入分號,然后再將Oracle的Bin目錄C:\oracle\product\10.2.0\client_1\BIN粘貼進(jìn)去,接著一路點(diǎn)三個(gè)確定回到桌面。重新打開一個(gè)cmd窗口,輸入echo %path%,發(fā)現(xiàn)其中有Oracle的BIN目錄,這樣Path就設(shè)置好了。***運(yùn)行iisreset 重啟IIS,問題解決了。
通過這個(gè)案例,我們學(xué)習(xí)到:當(dāng)我們解決問題的時(shí)候不能只是按照常規(guī)的思路去找解決辦法,而要多方面的去考慮,拓寬我們的思路,說不定問題就迎刃而解了。
本文就介紹到這里,謝謝大家的支持!
【編輯推薦】