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性能更好,这种修改是以性能为代价的

相关推荐
猿究院_夏燊4 小时前
Spring Bean 生命周期
java·后端·spring
CCblandy5 小时前
雪花 ID 四个边界实测:时钟回拨重号 500 个,前端 JSON.parse 直接丢精度
后端·python·算法·性能优化·架构
我是人✓5 小时前
SpringBoot项目的五种创建方式
java·spring boot·后端
念念清晰7 小时前
000-OpenJDK17 源码构建:MacOS环境(M芯片)
java·后端
来福猿7 小时前
SpringCloud Config 源码分析:配置拉取、刷新与多环境管理
后端·spring·spring cloud
IT_陈寒9 小时前
React组件莫名重渲染?你可能忘了这个小细节
前端·人工智能·后端
用户98883218717410 小时前
给 .NET 网络调用设定“预算”:用 CancellationTokenSource.CancelAfter 处理超时取消
后端
清风儿32910 小时前
一块不会说话的电表,把我们折腾了半个月
后端
预知同行10 小时前
深入解析 MoE 混合专家模型:从 Router 到 All-to-All 的架构全景与生产实践
后端·架构
upala10 小时前
【仓颉语言入门 · 第二篇 第 8 课】
后端