ORA-12505, TNS:listener does not currently know of SID given in connect descriptor The Connection descriptor used by the client was:
-- 這里的sid_name錯誤 1*4.1*1.2*4.1**:1521:orcltest at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70) at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:112) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:173) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:460) at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:411) at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:490) at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:202) at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:33) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:474) at org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.createManagedConnection(LocalManagedConnectionFactory.java:154)
注:
jdbc連接數據庫的時候,需要使用數據庫的sid_name,而不是數據庫的services_name.
而使用plsql連接數據庫的時候,只需要數據庫的services_name即可,所以修改連接字符串中的services_name 為sid_name.
查詢sid_name的方法:
select INSTANCE_NAME from v$instance;