读书人

jdbc 连接本地oracle10G 的ORA-12505有

发布时间: 2012-08-11 20:50:30 作者: rapoo

jdbc 连接本地oracle10G 的ORA-12505问题解决方法

连接 jdbc?Oracle10g?错误?,JDBC代码无问题,服务也启动,连接字符串也是对的,但是在eclipse?下报错,错误信息如下:

java.sql.SQLException:?Listener?refused?the?connection?with?the?following?error:

ORA-12505,?TNS:listener?does?not?currently?know?of?SID?given?in?connect?descriptor

The?Connection?descriptor?used?by?the?client?was:

localhost:1521:orcl

at?oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:124)

at?oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:279)

at?oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:318)

at?oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:343)

at?oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:147)

at?oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:31)

at?oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:545)

at?java.sql.DriverManager.getConnection(Unknown?Source)

at?java.sql.DriverManager.getConnection(Unknown?Source)

at?cn.com.db.DBAccess.getConnection(DBAccess.java:33)

at?cn.com.db.DBAccess.main(DBAccess.java:95)

Null

在CMD下snrctl?status??,tnsping?orcl?显示都正常。?

在pl/SQL下用

select?open_mode?from?v$database;

show?parameter?instance;

select?INSTANCE_NAME?from?v$instance;

sqlplus?sys/oracle@orcl

查询都显示正常,就是用pl/sql?登录时?填“数据库名”?orcl??就无法登陆,报ora?-12514?

l最后有效的解决方法:

修改listener.ora文件?

原listener.ora文件:

#?listener.ora?Network?Configuration?File:?D:\oracle\product\10.1.0\Db_4\network\admin\listener.ora

#?Generated?by?Oracle?configuration?tools.

SID_LIST_LISTENER?=

??(SID_LIST?=

????(SID_DESC?=

??????(SID_NAME?=?PLSExtProc)

??????(ORACLE_HOME?=?D:\oracle\product\10.1.0\Db_4)

??????(PROGRAM?=?extproc)

????)

??)

LISTENER?=

??(DESCRIPTION_LIST?=

????(DESCRIPTION?=

??????(ADDRESS_LIST?=

????????(ADDRESS?=?(PROTOCOL?=?IPC)(KEY?=?EXTPROC))

??????)

??????(ADDRESS_LIST?=

????????(ADDRESS?=?(PROTOCOL?=?TCP)(HOST?=?localhost)(PORT?=?1521))

??????)

????)

??)

修改后的文件:

---------------------------------------------------

#?listener.ora?Network?Configuration?File:?D:\oracle\product\10.1.0\Db_4\network\admin\listener.ora

#?Generated?by?Oracle?configuration?tools.

SID_LIST_LISTENER?=

??(SID_LIST?=

????(SID_DESC?=

??????(SID_NAME?=?PLSExtProc)

??????(ORACLE_HOME?=?D:\oracle\product\10.1.0\Db_4)

??????(PROGRAM?=?extproc)

????)

?(SID_DESC?=

???????(GLOBAL_DBNAME?=?orcl)

???????(ORACLE_HOME?=??D:\oracle\product\10.1.0\Db_4)??

???????(SID_NAME?=?orcl)

??????)

???)

LISTENER?=

??(DESCRIPTION_LIST?=

????(DESCRIPTION?=

??????(ADDRESS_LIST?=

????????(ADDRESS?=?(PROTOCOL?=?IPC)(KEY?=?EXTPROC))

??????)

??????(ADDRESS_LIST?=

????????(ADDRESS?=?(PROTOCOL?=?TCP)(HOST?=?localhost)(PORT?=?1521))

??????)

????)

??)

-----------------------------

如果错误还存在,也可以那试一下:
set?oracle_sid=<sid_name>
sqlplus?/nolog
connect?sys/pwd?as?sysdba
start

读书人网 >其他数据库

热点推荐