JDBC連接Oracle數(shù)據(jù)庫(kù)時(shí)出現(xiàn)的ORA-12505錯(cuò)誤及解決辦法
Posted on 2007-12-20 16:42 itspy 閱讀(32515) 評(píng)論(27) 編輯 收藏 所屬分類: 其它技術(shù)
Oracle
問(wèn)題描述:
今天使用jdbc連接oracle 10.2.0.1.0 數(shù)據(jù)庫(kù)的時(shí)候出現(xiàn)了下列錯(cuò)誤:
Connection refused(DESCRIPTION=(TMP=)(VSNNUM=153093120)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))
而直接通過(guò)plsql可以正常連接數(shù)據(jù)庫(kù),或者可以通過(guò)sqlplus 連接數(shù)據(jù)庫(kù)
經(jīng)過(guò)debug和查找相關(guān)的資料發(fā)現(xiàn)問(wèn)題原因如下:
jdbc連接數(shù)據(jù)庫(kù)的時(shí)候,需要使用數(shù)據(jù)庫(kù)的sid_name,而不是數(shù)據(jù)庫(kù)的services_name
而使用plsql連接數(shù)據(jù)庫(kù)的時(shí)候,只需要數(shù)據(jù)庫(kù)的services_name即可,所以修改連接字符串中的services_name 為sid_name
附:
察看數(shù)據(jù)庫(kù)中當(dāng)前的sid:
SQL> select INSTANCE_NAME from v$instance;
INSTANCE_NAME
----------------
hasl