jdbc连接oracle时sid问题

在项目中连接数据库是出现以下问题

java.sql.SQLException: Connections could not be acquired from the underlying database!

Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (30). Last acquisition attempt exception:
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:
18.1.3.6:1521:crmdb

 

看提示应该是SID错误,但在tnsnames中配置的SID确实是crmdb后来用

select instance_name,host_name from v$instance; INSTANCE_NAME -

--------------------------------------------------------------- crmdb1

 

 

我的url是这样的jdbc:oracle:thin:@18.1.3.6:1521:crmdb。注意这个crmdb,它是一个数据库services_name,问题也就出在这里。以前不知道,以为这是没问题的。其实不然,对于jdbc来说,这里不应该是services_name,而应该是数据库的sid_name。对于PLSQL和SQLPlus来说,则只要是services_name就好。大概以前的sid_name和services_name一样,而没有注意到

你可能感兴趣的:(jdbc连接oracle时sid问题)