我是通过Spring配置的数据源,连接Oracle时报的错误。
ORA-12505,TNS:listener does not currently know of SID given in connect descriptor
查了一些资料并没有解决问题。
在连接Oracle时,有一个服务名和SID的选项。他们的区别可参考:
https://www.cnblogs.com/matd/p/11051884.html
而Spring配置该两种方式时是有区别的,如下:
服务名(Service_name)方式:
spring.datasource.url=jdbc:oracle:thin:@127.0.0.1:1521/ORCL
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
spring.datasource.username=xxxx
spring.datasource.password=xxxx
SID方式:
spring.datasource.url=jdbc:oracle:thin:@127.0.0.1:1521:ORCL
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
spring.datasource.username=xxxx
spring.datasource.password=xxxx
区别就是,服务名方式是127.0.0.1:1521/ORCL,SID方式是127.0.0.1:1521:ORCL
我的数据库版本是Oracle 11.2.0.1.0。
其实在Windows10下服务名方式使用:也没有问题。
但放到Windows Server 2012下就会报错。