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