theme: smartblue
问题描述
由于jdbc和jdbc-oci版本不一致,导致数据库连接不上
解决策略
jdbc对应的是jdbcx.jar(x可能为6,7,8等),数据库连接驱动;而jdbc-oci对应的是jdbc client的版本
策略一:修改jdbcx.jar的版本(将12.2降级为12.1,版本与保持jdbc-oci一致)
相关的jar包下载:JDBC and UCP Downloads page (oracle.com)
该缺陷是不知道jdbcx.jar内驱动的具体版本,需要一个个试
策略二:修改jdbc client版本(将12.1升级为12.2,版本和jdbc保持一致)
oracle client下载地址:Instant Client for Microsoft Windows (x64) 64-bit | Oracle 中国
注意:安装完毕后,注意配置环境变量时,要将新下载的client置于原client之上,即可优先加载
缺陷是新加入的client由于版本不同,需要将程序部署到服务器时,可能会影响其他程序
策略三:不使用oci连接数据库,改用thin
oci 连接数据库依赖于oracle client,但是如果改用thin方式连接,即可摆脱client版本约束
相关参考: Oracle开发jdbc thin与 oci 连接方式 区别 - 掘金 (juejin.cn)
缺陷是oci性能更好,这种修改是以性能为代价的