關於Oracle 的url 連線 最後一個orcl的理解

執筆記憶的空白發表於2015-01-08
今天生產上專案啟動訪問 一個資料庫的時候,出現了

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

後面看了下,我的資料庫配置為:


driverClassName=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@158.58.88.102:1521:eskdb
username=root
password=aaa111

然後看了下oracle的 tnsnames.ora配置

eskdb=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 158.58.88.102)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = eskdb)))


按網上所說的道理, 
1、最後的orcl是資料庫名稱,我資料庫名稱就是eskdb,但是不對

2、最後的orcl是 service_name  但是配置的SERVICE_NAME  也是 eskdb

最後糾結無語,找資料庫DBA幫忙, DBA幫忙找到SID為 eskdb1  , 而且異常提示SID不對,於是更改url為

url=jdbc:oracle:thin:@158.58.88.102:1521:eskdb1

然後重啟專案,OK了

得出結論:資料庫url連線最後一個 orcl代表的是配置的資料庫 SID,而不是資料庫名  或者  SERVICE_NAME

相關文章