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


以前に出した過ちは今になってやっと覚えた.受講時にBeanConfigClassでこう書きました.「ORA-12505,TNS:listenerは現在connect記述子で提供されているSIDを知らない...」このようなエラーが発生しました.
	@Bean
	public BasicDataSource dataSource() {
		BasicDataSource source = new BasicDataSource();
		source.setDriverClassName("oracle.jdbc.OracleDriver");
		source.setUrl("jdbc:oracle:thin:@localhost:1521:orcl");
		source.setUsername("c##scott");
		source.setPassword("password");
		
		return source;
	}
の原因となる🕵️‍♀️
このエラーの原因は調べてみると、接続しようとしているSIDが正しくないことに気づきました.
解決策😶‍🌫️
どうやってこれを見たのか覚えていませんが、https://jhnyang.tistory.com/272はエラーとあまり差がないようです(今から見ればエラーメッセージも違います)ここでの1番の解決策を進めています.突然上のコードの中で、source.setUrl("jdbc:oracle:thin:@localhost:1521:orcl");という部分が気になります.私の場合はlistenerですoraファイルは、サービスリスナーがxeである.しかし、私が設定した部分はorclです.(https://stackoverflow.com/questions/18192521/ora-12505-tnslistener-does-not-currently-know-of-sid-given-in-connect-descriptこの問題を見てすぐに解決しました.😅 でも、一つだけ学びました!
# listener.ora Network Configuration File: C:\app\hkjung\product\21c\homes\OraDB21Home1\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.

DEFAULT_SERVICE_LISTENER = XE

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = C:\app\hkjung\product\21c\dbhomeXE)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:C:\app\hkjung\product\21c\dbhomeXE\bin\oraclr.dll")
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = DESKTOP-MMM4GN3.mshome.net)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )
そこで以下のようにXEに変更して解決した.
// data source
	@Bean
	public BasicDataSource dataSource() {
		BasicDataSource source = new BasicDataSource();
		source.setDriverClassName("oracle.jdbc.OracleDriver");
		source.setUrl("jdbc:oracle:thin:@localhost:1521:XE"); // orcl -> XE
		source.setUsername("c##scott");
		source.setPassword("password");
		
		return source;
	}
The Network Adapter could not establish the connection..というエラーが発生したら、上のリンクを参考にしてみてください!あ、これは親切な説明ですね.いいですね.😘