天天看點

調用配置檔案連接配接oracle資料庫,報錯提示ORA-12505, TNS:listener does not currently know of SID調用配置檔案連接配接oracle資料庫,報錯提示ORA-12505, TNS:listener does not currently know of SID

調用配置檔案連接配接oracle資料庫,報錯提示ORA-12505, TNS:listener does not currently know of SID

場景複現:

監聽檔案:

調用配置檔案連接配接oracle資料庫,報錯提示ORA-12505, TNS:listener does not currently know of SID調用配置檔案連接配接oracle資料庫,報錯提示ORA-12505, TNS:listener does not currently know of SID

配置檔案:

由于我用的是springboot架構,是以配置檔案是application.properties。

其他架構視自身情況而定

調用配置檔案連接配接oracle資料庫,報錯提示ORA-12505, TNS:listener does not currently know of SID調用配置檔案連接配接oracle資料庫,報錯提示ORA-12505, TNS:listener does not currently know of SID

錯誤原因

jdbc連接配接資料庫的時候,需要使用資料庫的sid_name,而不是資料庫的services_name.而使用plsql連接配接資料庫的時候,隻需要資料庫的services_name即可,是以修改連接配接字元串中的services_name 為sid_name.

查詢sid_name的方法

select INSTANCE_NAME from v$instance;

解決辦法

看完錯誤原因,即我的配置檔案的資料庫名稱寫錯了,應該用資料庫的SID_NAME,而我卻配成了SERVICES_NAME。

是以根據select INSTANCE_NAME from v$instance查詢出資料庫的SID_NAME,如圖:

調用配置檔案連接配接oracle資料庫,報錯提示ORA-12505, TNS:listener does not currently know of SID調用配置檔案連接配接oracle資料庫,報錯提示ORA-12505, TNS:listener does not currently know of SID

得到SID_NAME後将配置檔案的資料庫名改過來

調用配置檔案連接配接oracle資料庫,報錯提示ORA-12505, TNS:listener does not currently know of SID調用配置檔案連接配接oracle資料庫,報錯提示ORA-12505, TNS:listener does not currently know of SID

問題解決了