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

相关推荐
IUGEI44 分钟前
从原理到落地:DAG在大数据SLA中的应用
java·大数据·数据结构·后端·算法
Bony-7 小时前
Go语言垃圾回收机制详解与图解
开发语言·后端·golang
JH307312 小时前
SpringBoot自定义启动banner:给项目加个专属“开机画面”
java·spring boot·后端
what丶k13 小时前
深度解析Redis LRU与LFU算法:区别、实现与选型
java·redis·后端·缓存
测试人社区-浩辰13 小时前
AI与区块链结合的测试验证方法
大数据·人工智能·分布式·后端·opencv·自动化·区块链
老友@15 小时前
分布式事务完全演进链:从单体事务到 TCC 、Saga 与最终一致性
分布式·后端·系统架构·事务·数据一致性
java1234_小锋16 小时前
Spring里AutoWired与Resource区别?
java·后端·spring
风象南16 小时前
Spring Boot 定时任务多实例互斥执行
java·spring boot·后端
崎岖Qiu16 小时前
【深度剖析】:结合 Spring Bean 的生命周期理解 @PostConstruct 的原理
java·笔记·后端·spring·javaee
毕设源码-郭学长16 小时前
【开题答辩全过程】以 基于Springboot旅游景点管理系统的设计与实现为例,包含答辩的问题和答案
java·spring boot·后端