news 2026/7/1 22:34:44

oracle jdbc 依赖以及对dbeaver的性能影响,如何选择oracle驱动, oracle jdbc 驱动

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
oracle jdbc 依赖以及对dbeaver的性能影响,如何选择oracle驱动, oracle jdbc 驱动

oracle jdbc 依赖以及对dbeaver的性能影响

以前没有,后来maven中央仓库有了。以前就算有,也是非官方的,后来官方确实也上传了。

1. Oracle的一些 GAV 为什么这么乱?

以前maven中央仓库中没Oracle的驱动(要有也是非官方上传的 “野包”),之前的人的做法几乎都是从Oracle官方下载后再到自己公司的私仓里头上传。

为什么maven中央仓库没有Oracle官方的jar?:早年间 Oracle 坚持不把 jar 包放到中央仓库,核心原因不在于技术,而在于法律许可。Oracle 驱动受《Oracle 技术网许可协议》(OTN License)约束。该协议要求用户在下载前必须点击并接受条款。而 Maven 的工作模式是全自动的,命令行一敲,jar 包就下来了,这在当时被 Oracle 的法务部门认为“绕过了许可确认步骤”,存在合规风险

为什么后来Oracle官方妥协了?最终他们上传了官方的jar到maven中央仓库?

最初他们上传jar还不是上传到maven中央仓库,而是自家的仓库,着实恶心;第二阶段才上传到maven中央仓库的,那是为什么?

原因很多样:

  • 开发者体验的优先级提升:现代软件开发极度依赖 CI/CD(持续集成/持续部署)。手动安装 jar 包在自动化流水线中几乎是灾难

  • 云原生:如果云原生开发者用你的驱动还要写脚本去下载安装,那大家肯定直接转投 PostgreSQL 或 MySQL 了

  • 竞争对手的压力:SQL Server 早在 2017 年就进入了中央仓库。作为数据库老大哥,Oracle 如果再不跟进,显得极其落伍

2. Oracle 的maven仓库历史

Oracle的包名确实挺乱的。有几个阶段。采用的话就用最新的包名!!

2. 1 现代标准阶段 (2020 年至今)

Group IDArtifact ID说明
com.oracle.database.jdbcojdbc8适用于 JDK 8, 11, 17。目前最通用的版本。
com.oracle.database.jdbcojdbc10随 Oracle 19c 发布,针对 JDK 10/11 优化。
com.oracle.database.jdbcojdbc11随 Oracle 21c 发布,仅支持 JDK 11 及以上

如何选:ojdbc8是兼容性最好的,虽然上面只是提到 “适用于 JDK 8,11,17” 没提到 “JDK 21”,但实际也是兼容的,只是性能没那么好。非常推荐使用ojdbc11

2.2 首次进入中央仓库阶段 (2019 年 - 2020 年)

不建议使用这个group id 了,虽然也是官方的。

Group IDArtifact ID说明
com.oracle.ojdbcojdbc82019 年刚进驻中央仓库时的主要坐标。
com.oracle.ojdbcojdbc10同上。

2.3 Oracle 自建仓库阶段 (2016 年 - 2019 年)

在 Oracle 官方上传任何包之前,很多开发者会手动将驱动安装到本地或私服。这些坐标在中央仓库里是搜不到官方包的,但你会经常在老项目的pom.xml里看到它们:

  • com.oracle:ojdbc6(11g 时代最常见)
  • com.oracle:ojdbc14(更古老的 10g 时代,对应 JDK 1.4)
  • com.oracle:ojdbc7

3. 如何选择?

如果你在写新项目:永远首选com.oracle.database.jdbc:ojdbc8(或 11)。因为这个 Group ID 下不仅有驱动,还有完整的生态链(如连接池ucp、安全包oraclepki等),版本号同步非常一致。

如果你在 DBeaver 中手动添加:建议下载19.x21.x版本的ojdbc8.jar,因为 19c 是目前 Oracle 的长周期支持(LTS)版本,其驱动对 11g、12c、19c 的兼容性平衡得最好。

注意:从 Oracle 12c 开始,不再有ojdbc6.jar。如果你连接的是 12c 或更新的库,即使你的 Java 环境是 JDK 8,也应该用ojdbc8.jar

4. Oracle的驱动对于dbeaver连接Oracle数据库的性能的影响

dbeaver作为使用jdbc方式连接数据库的,选择的oracle的driver的版本不同是否直接会影响一些性能,甚至bug?

**这是肯定的!!**甚至有些dbeaver的 “bug” 其实是你选择了旧版本的oracle jdbc的驱动而导致的,dbeaver背锅了!(有些公司无外网或者不允许直接连maven中央仓库,不能实现dbeaver自动下载jar)

比如说19c这种主流的Oracle数据库一般选择什么jar

如果dbeaver不能自动下载,如果有多个候选的离线jar包选择,选新的没错

怎么去搞到这些驱动的jar

其实你的spring项目里既然要连接Oracle了肯定是下载了jar的,用那个就行,拷贝这些jar到固定某个目录下并让dbeaver使用即可。(有人会问,为啥spring项目能下载driver jar但是dbeaver不行,你的项目连的仓库可能是私仓,但dbeaver连的是公仓)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/25 15:32:19

Ollama部署Phi-3-mini-4k-instruct:保姆级图文教程

Ollama部署Phi-3-mini-4k-instruct:保姆级图文教程 你是否试过在本地快速跑起一个轻量又聪明的AI模型,却卡在环境配置、模型下载或命令行参数上?是否被“38亿参数”“4K上下文”这些术语绕晕,却找不到真正手把手带你点开第一个对…

作者头像 李华
网站建设 2026/7/1 13:09:03

医疗AI新选择:MedGemma 1.5从部署到问诊全攻略

医疗AI新选择:MedGemma 1.5从部署到问诊全攻略 1. 为什么医生和患者都需要一个“看得懂的医疗助手” 你有没有遇到过这样的场景: 拿到体检报告,满页“ALT 42 U/L”“LDL-C 3.8 mmol/L”,却不知道这到底意味着什么;看…

作者头像 李华
网站建设 2026/6/21 16:04:00

消费级显卡跑Z-Image-Turbo,效果惊艳到爆

消费级显卡跑Z-Image-Turbo,效果惊艳到爆 你有没有试过——在RTX 3060笔记本上,输入一句“敦煌飞天壁画风格的咖啡杯设计”,3秒后,一张4K高清、线条流畅、色彩浓烈的图像就静静躺在浏览器窗口里?没有排队、没有报错、…

作者头像 李华
网站建设 2026/6/22 15:42:03

批量识别多张图片?Python脚本扩展教程来了

批量识别多张图片?Python脚本扩展教程来了 1. 为什么单张识别不够用:从“能跑通”到“真可用”的关键一步 你已经成功运行了推理.py,看到终端输出“白领女性”“办公室工作场景”这些中文标签时,心里一定很踏实——模型确实能工…

作者头像 李华
网站建设 2026/6/30 6:01:40

Swin2SR参数详解:输入尺寸512-800最佳实践说明

Swin2SR参数详解:输入尺寸512-800最佳实践说明 1. 为什么Swin2SR不是普通“放大镜”? 你可能用过Photoshop的“图像大小”功能,或者手机相册里的“超清增强”按钮——那些大多是靠数学插值“猜”像素,结果常常是模糊一团、边缘发…

作者头像 李华
网站建设 2026/6/21 16:04:49

TranslucentTB Microsoft.UI.Xaml依赖攻克指南2024

TranslucentTB Microsoft.UI.Xaml依赖攻克指南2024 【免费下载链接】TranslucentTB 项目地址: https://gitcode.com/gh_mirrors/tra/TranslucentTB TranslucentTB作为广受好评的任务栏美化工具,常因Microsoft.UI.Xaml依赖缺失导致启动失败。本文将通过"…

作者头像 李华