1. 程式人生 > >plsql報ora-00911錯誤的解決

plsql報ora-00911錯誤的解決

ima 但是 utf-8 rri image 其他 安裝包 lang parameter

論不作死就不會死的過程,樓主之前因為得了一個oralce9i的精簡版的客戶端安裝包,我也分享過給其他人使用這個安裝包,沒聽人反饋過說有問題,所以這次換了電腦後果斷就安裝這個客戶端。然後問題就來了。

反復重新安裝了2次oracle客戶端,plsql連接是正常了,但是在查詢條件中帶有中文時就會報錯ora-00911。百度了很久之後解決。記錄一下。

首先你要查找一下你oracle數據庫服務器的的編碼格式,用下面的語句:

select * from nls_database_parameters;

重要的內容是 NLS_LANGUAGE, NLS_TERRITORY 和 NLS_CHARACTERSET 這三個字段,因為後續配置環境變量要用到。

技術分享圖片

2.配置環境變量。計算機-屬性-高級系統設置-高級-環境變量

新建2個環境變量,如下:

NLS_LANG = AMERICAN_AMERICA.AL32UTF8

LANG = zh_CN.UTF-8

其中NLS_LANG的構成是根據上面數據庫查詢得來的,具體構成的方法是 NLS_LANGUAGE+“_”+NLS_TERRITORY+"."+NLS_CHARACTERSET

3.我另外還更改了註冊表裏面的NLS_LANG,路徑是:HKEY-LOCAL-MACHINE=>SOFTWARE=>Wow6432Node=>ORACLE如圖,我看資料好像應該不用改也可以,可以去試一下,不過我反正已經改了,就不打算再去折騰了。

技術分享圖片

plsql報ora-00911錯誤的解決