
原文內容是:
myeclipse6.0 連接oracle10g的問題 ORA-00604,ORA-12705
MyEclipse Database Explorer建立oracle 10g數據庫連接的時候 總提示
java.sql.SQLException: ORA-00604: error occurred at recursive SQL level 1
ORA-12705: invalid or unknown NLS parameter value specified
問題初步分析是 Myeclipse語言 和oracle 10g 沖突問題。
進一步分析,由于oracle 是可以正常登陸的,所以問題出現在myeclipse 這邊。
解決方法一:
在網上搜索到的 估計myeclipse的版本是 5.0,解決方法
1.在windows XP控制面板中修改區域和語言選項,把"區域選項"中的"標準和格式"自定義為"英語(美國)";
2.在MyEclipse中help菜單>About MyEclipse...>點擊"Configuration Details",設置其中的兩個值:
osgi.nl=en_US
user.language=en
這樣就可以在MyEclipse Database Explorer中順利建立oracle連接了.
該方法在myeclipse6.0中不適應。
我的解決方法:
修改eclipse.ini文件,將"-Duser.language=en"修改為"-Duser.language=zh"。問題解決。
分析:
主要原因是MyEclipse在啟動時候,語言編碼是在[MyEclipse路徑]\eclipse\eclipse.ini文件中加載的。 而國別編碼是從系統的區域設置中得到的。如果MyEclipse默認啟動參數為"-Duser.language=en",而操作系統設為"中文(中國)"MyEclipse加載后的信息就是"en_CN",這樣就會出現上述問題,所以只要將兩邊的設置改成一致的,就可以解決上述問題. 你也可以就系統的區域設置定為"中文(中國)",修改eclipse.ini文件,將"-Duser.language=en"修改為"-Duser.language=zh",這樣在MyEclipse加載后的Configuration Details信息就統一為zh_CN,即"osgi.nl=zh_CN".
如果是oracle 9i 問題,則可以如下解決方法
數據庫服務器字符集select * from nls_database_parameters,其來源于props$,是表示數據庫的字符集。
客戶端字符集環境select * from nls_instance_parameter,其來源于v$parameter,
表示客戶端的字符集的設置,可能是參數文件,環境變量或者是注冊表
客戶端的字符集要求與服務器一致,才能正確顯示數據庫的非Ascii字符。如果多個設置存在的時候,alter session>環境變量>注冊表>參數文件
字符集要求一致,但是語言設置卻可以不同,語言設置建議用英文。如字符集是zhs16gbk,則nls_lang可以是American_America.zhs16gbk。
首先查看當前數據庫字符集是什么,配置資料庫選用相同
把eclipse.ini里的en修改成zh后,還真行了,高手就是高手啊~