多數情況如下:
控制面板--系統和安全---系統--高級系統設置--高級--環境變量--系統變量中
變量名:NLS_LANG
變量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
把這個變量添加完成以后,把系統重啟一下就ok了,重啟以后,錯誤提示消失了。
可能還有如下一些個情況:
-
應該是錯誤輸入了全角字符,輸入半角字符就行了。
-
錯誤信息ORA-00911: invalid character說明了在執行的SQL語句中出現了無效字符,所在SQL語句無法通過語法分析過程導致了錯誤結果。
-
可能出現的原因有:錯誤地輸入了全角字符,比如輸入了全角逗號。
-
如果使用C++、Java、C#等編程時,總會習慣在語句最后加分號,而這個符號在SQL中是無效字符。
-
實際語句和列類型不匹配,比如將數值列賦值為字符串。
-
與display函數不同,display_cursor顯示的為真實的執行計划。
-
對於format參數,使用與display函數的各個值,同樣適用於display_cursor函數。
-
當statistics_level為all或使用gather_plan_statistics提示可以獲得執行時的統計信息。
-
根據真實與預估的統計信息可以初步判斷SQL效率低下的原因,如統計信息的准確性、主要的開銷位於那些步驟等。
-
看你的sql語句最后是否有分號,有的話去掉就行 看你Oracle服務器端字符集是否和Oracle客戶端字符集匹配。
-
查詢oracle server端的字符集:SQL>select userenv(‘language’) from dual。
-
查詢oracle client端的字符集。在windows平台下,就是注冊表里面相應OracleHome的NLS_LANG。
-
還可以在dos窗口里面自己設置,比如: set nls_lang=AMERICAN_AMERICA.ZHS16GBK。