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

















