[20210908]DB升级到Oracle 19C遇到的坑

这篇博客讲述了在将数据库从Oracle 11G升级到19C过程中遇到的挑战,包括字符集不支持的问题,如ZHS16GBK,以及ojdbc驱动的兼容性问题。作者发现ojdbc6与ojdbc8都与旧版数据库不匹配,而转换为UTF8字符集后问题得到解决。此外,文章详细讨论了Oracle数据库URL的三种配置方式,并提醒在使用tnsname时需注意双斜杠。最后,作者分享了一个关于war包打包的乌龙事件,指出打包时不应有多余的顶层文件夹,以及hibernate dialect配置的注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JAVA1.8,原数据库11G

原包ojdbc6,尝试报错如下:

单ojdbc6
SQLNestedException: Cannot create PoolableConnectionFactory (ORA-28040: No matching authentication protocol

ojdbc6+orai18n.jar
NoSuchMethodError: oracle.i18n.text.converter.CharacterConverterOGS.getInstance(I)Loracle/i18n/text/converter/CharacterConverter;

单ojdbc8
SQLException: Non supported character set (add orai18n.jar in your classpath): ZHS16GBK

ojdbc8+orai18n.jar
NoSuchMethodError: oracle.i18n.text.converter.CharacterConverterOGS.getInstance(I)Loracle/i18n/text/converter/CharacterConverter;

数据库换成UTF8后配合单ojdbc8报错消失


oracle连接DB url配置的三种方式

注意service name在host前要加双斜杠

tnsname就是

(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xxx)(PORT=xxx))(CONNECT_DATA=(SERVICE_NAME=xxx)(SERVER=DEDICATED)))

这样的形式,优势在于可以配置成连接池,同时使用两个数据库地址时很实用

格式一&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值