先前遇到了一系列的問題,結果把32位和64位的Oracle都裝進來了。數據庫
但因爲項目的dll使用的是32位的,用64位的Oracle在運行時會出現 「未能加載文件或程序集「Oracle.DataAccess」或它的某一個依賴項。試圖加載格式不正確的程序。」 這個錯誤。app
而改用32位Oracle後,開啓PLSQL時又出現了 「error while trying to retrieve text for error ORA-01804」 這個錯誤,致使沒法鏈接數據庫。blog
解決方法:變量
32位和64位的Oracle都裝了(不知道有沒有影響,實際上在後面配置環境變量時只使用到了32位的Oracle,但事實證實PLSQL鏈接數據庫須要64位的Oracle)cli
關鍵來了,以前按照網上的方法配置環境變量,結果在項目運行時和PLSQL鏈接數據庫時總有其中一個會出現上面說的錯誤。配置
最後,問題仍是回到了環境變量上,由於項目是32位的dll,因此配置時,路徑都是用的32位的Oracle,這時,項目運行沒有問題,但用PLSQL鏈接數據庫時會出現 「error while trying to retrieve text for error ORA-01804」 這個錯誤,個人解決方法:將 「ORACLE_HOME」 這個環境變量刪除便可。network
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」 )。im
附上個人環境變量配置:
Path: D:\app\Administrator\client\Administrator\product\12.1.0\client_1\BIN