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