調用配置文件連接oracle數據庫,報錯提示ORA-12505, TNS:listener does not currently know of SID
場景復現:
監聽文件:
配置文件:
由於我用的是springboot框架,所以配置文件是application.properties。
其他框架視自身情況而定
錯誤原因
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,如圖:
得到SID_NAME後將配置文件的數據庫名改過來
問題解決了