Oracle 32位和64位版本之間的問題


先前遇到了一系列的問題,結果把32位和64位的Oracle都裝進來了。

但由於項目的dll使用的是32位的,用64位的Oracle在運行時會出現        “未能加載文件或程序集“Oracle.DataAccess”或它的某一個依賴項。試圖加載格式不正確的程序。”     這個錯誤。

而改用32位Oracle后,開啟PLSQL時又出現了   “error while trying to retrieve text for error ORA-01804”   這個錯誤,導致無法連接數據庫。

解決方法:

     32位和64位的Oracle都裝了(不知道有沒有影響,實際上在后面配置環境變量時只使用到了32位的Oracle,但事實證明PLSQL連接數據庫需要64位的Oracle)

     關鍵來了,之前按照網上的方法配置環境變量,結果在項目運行時和PLSQL連接數據庫時總有其中一個會出現上面說的錯誤。

     最后,問題還是回到了環境變量上,因為項目是32位的dll,所以配置時,路徑都是用的32位的Oracle,這時,項目運行沒有問題,但用PLSQL連接數據庫時會出現  “error while trying to retrieve text for error ORA-01804”  這個錯誤,我的解決方法:將  “ORACLE_HOME”  這個環境變量刪除即可。

 

     Ps:

         出錯原因推測:原本 “ORACLE_HOME” 的變量值為  “D:\app\Administrator\client\Administrator\product\12.1.0\client_1\network\admin”  這是指向32位Oracle的路徑,導致我使用的PLSQL連接數據庫時出錯。而先前使用指向64位Oracle的路徑時,我的PLSQL能夠正常連接數據庫。我猜測在刪除環境變量  “ORACLE_HOME”  后,PLSQL會自動尋找合適的Oracle版本使用(同時裝了64位Oracle也許是伏筆?)。

   如果按上述方法PLSQL連接數據庫時還是報這個錯,就嘗試將環境變量  “ORACLE_HOME”  的變量值改為指向64位Oracle的路徑(我的是“D:\app\client\Administrator\product\12.1.0\client_1\network\admin” )。

               附上我的環境變量配置:

          Path:  D:\app\Administrator\client\Administrator\product\12.1.0\client_1\BIN

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM