Você consegue conectar no seu banco oracle local (ou docker) via sqlplus mas quando tenta conectar via JDBC você recebe o seguinte erro?
[66000][12505] Listener refused the connection with the following error: ORA-12505, TNS:listener does not currently know of SID given in connect descriptor oracle.net.ns.NetException: Listener refused the connection with the following error: ORA-12505, TNS:listener does not currently know of SID given in connect descriptor.
O erro acima pode ter inúmeras causas. Mas quando você consegue acessar via sqlplus mas não consegue no seu programa JAVA (via JDBC), a solução pode ser muito simples. Basta conferir a sua string jdbc e trocar o “:” após o número da porta (1521) por “/”:
jdbc:oracle:thin:@localhost:1521:XEPDB1 (antes)
jdbc:oracle:thin:@localhost:1521/XEPDB1 (depois)
A explicação é simples: Quando você usa os “:”, você está especificando um SID que realmente não existe no seu Oracle. Quando você usa a barra “/”, você está usando o SERVICE_NAME.
Se essa simples dica funcionou para você e te economizou um tempão de pesquisa na internet, por favor, me avise através de um comentário para que eu fique motivado a escrever mais posts sobre esse assunto.
Abraço!
Já passei por isso! Muito boa dica!
Obrigado Márcio!