【DataBase】:使用Oracle遇到的幾個問題及解決辦法

連江偉發表於2016-01-06

        時下比較流行的資料庫大概有這麼三種,Oracle、MySql以及SQL Server,在網上隨便一搜,資料庫軟體排行榜,你會看到高居榜首的總是Oracle,因此學習Oracle的使用是十分必要的。我在學習使用Oracle的過程中,遇到了很多問題,在這裡做一下總結和記錄,但願能夠幫助到大家。

        問題1:安裝Oracle 10g的過程中,提示“環境變數path的值超過1023字元,無法設定該值”

        問題分析:報錯提示path值超過了字元限制的數量,那麼肯定是path變數的剩餘可輸入的字元數不夠了,於是我就把Path變數的值,複製到txt文字里面,開始逐一檢查,將沒用的變數值刪除,這樣就path字串的長度就會減少,或許就可以將Oracle的環境變數值放進去了。試了試,並沒有什麼卵用。

        問題解決:

        於是上網找解決辦法,在百度經驗裡面就有關於這個問題的解決辦法:新建一個系統變數取名path1,剪下Path中的所有變數複製進path1然後儲存,將Path中全選刪除改為預設值%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;最後在這個預設值後新增%path1%引用path1即可儲存。

        如此一來,問題就被解決掉了。不得不感嘆,辦法實在是太巧妙了,我根本想不到,但是我的思路是正確的。

        問題2:使用PLSQLDeveloper連線Oracle時,輸入正確的使用者和口令之後,點選登入之後報錯“ora-12154:TNS:無法解析指定的連線識別符號”,如下圖所示

        

        問題分析:造成這個問題的原因很多,因此我在尋找解決辦法的過程中費了好大的勁兒。雖然耗費了很長時間,逐一排查,才確定是PLSQL Developer的安裝路徑有特殊字元造成的。

        問題解決:

        重灌PLSQLDeveloper,在其安裝路徑中不要出現諸如()等特殊字元,比如我的情況如下圖所示:

        


        問題3:使用Navicat premium 連線Oracle資料庫的時候報錯“ORA-12737: Instant Client Light:unsupported server character set CHS16GBK”

        問題分析:

        從報錯資訊末尾看,肯定是編碼的問題引起的。網上找解決辦法,瞭解到了OCI,這是什麼玩意呢?百度一下:ORACLE呼叫介面(Oracle Call Interface簡稱OCI)提供了一組可對ORACLE資料庫進行存取的介面子例程(函式),通過在第三代程式設計語言(如C語言)中進行呼叫可達到存取ORACLE資料庫的目的。

        而我的Navicat premium版本11.0 漢化版的,自帶的oci.dll是不支援除英文以外的編碼方式的,因此需要更換新版的oci.dll。

        解決辦法:

        從官網http://www.oracle.com/technetwork/topics/winsoft-085727.html下載最新的Instant Client Package – Basic,解壓之後,將Navicat premium的OCI Library引用地址換成,你解壓出來的新版的oci.dll路徑,如下圖所示:

        

        小結一下:

        我們在學習使用一款從來沒用過的軟體,或者是學習一塊新的內容時,總免不了會遇到各種各樣的問題,因此我們要學會站在巨人的肩膀上去學習,這點在資訊科技飛速發展的二十一世紀,至關重要!

       

       

 

        

相關文章