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