1.ORA-12505,TNS:listener does not currently know ofSID given in connect descriptor
操作步骤:
1.检查oracle的各配置项是否填写正确
2.oracle连接的三种格式,检查连接串格式是否正确
格式一: Oracle JDBC Thin using a ServiceName:
jdbc:oracle:thin:@//host:port/service_name(默认)
格式二: Oracle JDBC Thin using an SID:
jdbc:oracle:thin:@host:port:SID
格式三:Oracle JDBC Thin using a TNSName:
jdbc:oracle:thin:@TNSName
3.使用的oracle 19c版本较高 连接不上可能是驱动版本不够 升级驱动版本
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc8</artifactId>
<version>19.10.0.0</version>
</dependency>
查看版本匹配链接:oracle版本
补充:ojdbc8.jar下载方法
1.官网地址
2.本地化 jar包目录的cmd窗口输入
mvn install:install-file -Dfile=ojdbc8.jar -DgroupId=com.oracle -DartifactId=ojdbc8 -Dversion=19.10.0.0 -Dpackaging=jar -DgeneratePom=true
2.字符集不匹配
操作步骤:
1.查看数据库字符集
select userenv('language') from dual;
select * from nls_database_parameters where parameter =’NLS_CHARACTERSET’;
select * from nls_database_parameters
2.在连接串后面增加字符集编码 characterEncoding
url = "jdbc:oracle:thin:@" + host + ":" + port + "/" + databaseName+"?useUnicode=true&characterEncoding=ZHS16GBK";
3.新增匹配的字符集 下载orai18n.jar(orai18n.jar是一个Java国际化工具包,主要提供了多语言支持、更好的字符集转换、格式化时间和数字等工具类)
<dependency>
<groupId>com.oracle.database.nls</groupId>
<artifactId>orai18n</artifactId>
<version>19.10.0.0</version>
</dependency>