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

相关推荐
brzhang23 分钟前
颠覆你对代码的认知:当程序和数据只剩下一棵树,能读懂这篇文章的人估计全球也不到 100 个人
前端·后端·架构
躲在云朵里`35 分钟前
SpringBoot的介绍和项目搭建
java·spring boot·后端
喵个咪1 小时前
Golang微服框架Kratos与它的小伙伴系列 - 分布式事务框架 - DTM
后端·微服务·go
brzhang1 小时前
我见过了太多做智能音箱做成智障音箱的例子了,今天我就来说说如何做意图识别
前端·后端·架构
晴空月明2 小时前
结构型模式-架构解耦与扩展实践
后端
WanderInk3 小时前
在递归中为什么用 `int[]` 而不是 `int`?——揭秘 Java 参数传递的秘密
java·后端·算法
why技术3 小时前
哎,我糊涂啊!这个需求居然没想到用时间轮来解决。
java·后端·面试
寻月隐君3 小时前
Rust 核心概念解析:引用、借用与内部可变性
后端·rust·github
万粉变现经纪人4 小时前
如何解决pip安装报错ModuleNotFoundError: No module named ‘django’问题
后端·python·pycharm·django·numpy·pandas·pip
ai小鬼头4 小时前
创业心态崩了?熊哥教你用缺德哲学活得更爽
前端·后端·算法