Incompatible version of libocijdbc[Jdbc:122010, Jdbc-OCI:121020

问题描述

相关问题:utPLSQL CLI failing with Incompatible version of libocijdbc error · Issue #114 · utPLSQL/utPLSQL-cli · GitHub

由于jdbc和jdbc-oci版本不一致,导致数据库连接不上

解决策略

jdbc对应的是jdbcx.jar(x可能为6,7,8等),数据库连接驱动;而jdbc-oci对应的是jdbc client的版本

  1. 策略一:修改jdbcx.jar的版本(将12.2降级为12.1,版本与保持jdbc-oci一致)

    相关的jar包下载:JDBC and UCP Downloads page (oracle.com)

    该缺陷是不知道jdbcx.jar内驱动的具体版本,需要一个个试

  2. 策略二:修改jdbc client版本(将12.1升级为12.2,版本和jdbc保持一致)

    oracle client下载地址:Instant Client for Microsoft Windows (x64) 64-bit | Oracle 中国

    注意:安装完毕后,注意配置环境变量时,要将新下载的client置于原client之上,即可优先加载

    缺陷是新加入的client由于版本不同,需要将程序部署到服务器时,可能会影响其他程序

  3. 策略三:不使用oci连接数据库,改用thin

    oci 连接数据库依赖于oracle client,但是如果改用thin方式连接,即可摆脱client版本约束

    相关参考: Oracle开发jdbc thin与 oci 连接方式 区别 - 掘金 (juejin.cn)

    缺陷是oci性能更好,这种修改是以性能为代价的

相关推荐
bcbnb3 分钟前
Flutter-Notebook代码混淆:Android与iOS平台安全配置
后端·ios
泡海椒14 分钟前
SpringBoot 集成 JQuick-Curl:Spring 环境完整接入教程,第三方接口调用别再到处手写模板类
后端
落木萧萧82514 分钟前
MyBatis 关联查询的四种写法,为什么最后都变回了手写 XML
java·数据库·后端
cui_hao_nan16 分钟前
Spring AOP 自调用、代理与 private 方法引发的诡异 NPE
java·后端·spring·ai开发
IT_陈寒39 分钟前
JavaScript的隐式转换太坑了,我的==比较怎么就炸了?
前端·人工智能·后端
程序员阿明1 小时前
spring boot4+springAI 2加redis多轮对话存储
spring boot·redis·后端
MetaLite1 小时前
SpringBoot整合FastJson2数据脱敏-接口日志与失败降级
java·spring boot·后端
xixingzhe21 小时前
SpringBoot 接口缓存实现
spring boot·后端·缓存
名字还没想好☜2 小时前
Go 时间格式化为什么用 2006-01-02:time.Format/Parse 的参考时间、时区与解析踩坑
开发语言·后端·golang·go
jyOverQ5 小时前
RabbitMQ 消息积压怎么办?Prefetch、消费者并发与扩容
分布式·后端·rabbitmq