ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

30+ 数据库驱动装进一个仓库:DBeaver 连接配置一劳永逸的完整方案

30+ 数据库驱动装进一个仓库:DBeaver 连接配置一劳永逸的完整方案

30+ 数据库驱动装进一个仓库:DBeaver 连接配置一劳永逸的完整方案

【免费下载链接】dbeaver-driver-alldbeaver所有jdbc驱动都在这,dbeaver all jdbc drivers ,come and download with me , one package come with all jdbc drivers.项目地址: https://gitcode.com/gh_mirrors/db/dbeaver-driver-all

做后端开发的人多半都有这样的经历:换一台新电脑,装好 DBeaver,然后花掉整整一个下午把驱动挨个找齐。DBeaver-Driver-All(DBeaver 驱动包)就是冲着这个痛点来的开源项目——它把 30 多种数据库的 JDBC 驱动连同全部依赖,打包进一个仓库。clone 一次,以后连接任何数据库都只是"取用",不再是"寻找"。

一个真实得有点扎心的下午

周五下午三点,我接到一个活:新项目要同时连 MySQL 8 和 PostgreSQL,报表那边用 ClickHouse,最后客户还丢来一个 Oracle 老库要求比对数据。

前两个还算顺利,到了 ClickHouse 就卡住了。官网下载的 clickhouse-jdbc 单独一个 jar 根本跑不起来,报错缺这个缺那个:httpclient、jackson-databind、guava……挨个补依赖补到天黑。Oracle 那边更糟,ojdbc8 和 ojdbc11 版本混着来,一连接就报不支持的字符集。

那天晚上我算了一笔时间账:

配置方式首次连一个库换机后重来翻车概率
自己搜驱动、逐个配依赖20 到 60 分钟全部重来一遍
用 DBeaver-Driver-Allclone 一次几分钟复制目录即用

如果你也在这个循环里反复打转,下面这份完整方案,应该能帮你一次性跳出坑。

先看清单:这个仓库到底装了哪些数据库驱动

仓库按数据库分目录存放,结构一目了然:

drivers/ ├── mysql/ # 拆成 mysql5 与 mysql8 两个子目录 ├── postgresql/ # 42.2.25 与 42.7.2 两个版本 ├── oracle/ # ojdbc8 与 ojdbc11 并存 ├── mssql/ # 9.2.0(jre8)与 12.4.2(jre11) ├── clickhouse/ # 连带 httpclient、jackson 等全套依赖 ├── sqlite/ # xerial 3.36.0.3 与 3.44.1.0 └── ... # 还有 25+ 个目录

多版本同存是它最实用的设计。同一数据库保留新旧两代驱动,老库连不上时直接换目录里的另一个版本试,不用再全网搜"旧版驱动在哪下载"。

  • 传统关系型:MySQL、PostgreSQL、Oracle、SQL Server、DB2、MariaDB、SQLite、Derby、H2、HSQLDB、Informix、Sybase、Teradata……
  • 云与大数据:AWS Athena、Redshift、ClickHouse、Hive、Elasticsearch、Vertica、Exasol、Netezza……
  • 特色场景:Access(UCanAccess)、PostGIS、ODBC 桥接、GCP 云 SQL……

依赖完整性是这个项目的隐藏价值。像 ClickHouse 这种驱动,单独一个 jar 根本跑不起来,仓库里把 httpclient、jackson、guava 等关联库一并放好;Redshift 目录里连 AWS SDK 全家都齐了。也就是说,你拿到的不只是驱动本体,而是一套拆开就能用的完整环境。

上手方式一:手动挂载本地驱动(最可控的 DBeaver 驱动配置方法)

如果你追求对每个连接都心中有数,这是推荐路径,九个步骤正好对应上面那张图:

  1. 在 DBeaver 的"数据库 → 驱动管理器"里选中目标数据库,点"编辑驱动"
  2. 切到"库"标签页,删掉默认的驱动包——默认包版本旧,留着容易出幺蛾子
  3. 点"添加文件",定位到克隆下来的仓库目录,进入对应数据库文件夹
  4. 全选该目录下的所有 jar 文件(比如 Oracle 就选 ojdbc 开头的全部),点"打开"
  5. 回到编辑窗口确认依赖列表无误,点"确定"
  6. 点"测试连接",出现成功提示就收工

驱动类名和 URL 模板都不用改,DBeaver 自带的模板直接匹配。

上手方式二:整目录复制(最快的一键安装数据库驱动)

不想一个个配?把整个 drivers 目录复制到 DBeaver 的驱动目录即可,一分钟搞定:

  • Windows:复制到C:\Users\你的用户名\AppData\Roaming\DBeaverData\drivers\
  • macOS:复制到~/Library/DBeaverData/drivers/
  • Linux:复制到~/.local/share/DBeaverData/drivers/

复制完重启 DBeaver,新增连接时驱动列表里就能看到这些库。这个方法最爽的一点是"一次配置、多机同步"——把 drivers 目录放进网盘或公司共享盘,新同事入职直接拉下来,开发环境一秒对齐。

上手方式三:Maven 仓库集成(给偏好依赖管理的用户)

仓库里还带了一个maven/目录,预置了 MySQL、PostgreSQL、Oracle、SQL Server 等常用驱动的 jar 与 POM。两步接入:

git clone https://gitcode.com/gh_mirrors/db/dbeaver-driver-all
  1. maven/目录下的内容复制到本机DBeaverData\drivers\maven\maven-central(路径前缀按上面各系统的规则替换)
  2. 在 DBeaver 的 Preference → Driver → Maven 里,把其他远程仓库禁用,只保留本地仓库

手速快的团队还会配置阿里云镜像https://maven.aliyun.com/repository/central来加速依赖拉取,效果一样,只是把下载源换成了国内节点。

四个坑,提前替你踩过了

新手照着配置,最容易在四个地方翻车:

坑一:Java 版本不匹配。文件名里的 jre8、jre11 不是装饰。用 JDK 8 就选 mssql-jdbc-9.2.0.jre8.jar,用 JDK 11+ 就选 mssql-jdbc-12.4.2.jre11.jar;Oracle 同理,ojdbc8 和 ojdbc11 各管各的,混用必报错。

坑二:驱动类名别改。DBeaver 识别驱动靠的是类名,比如 MySQL 8 用com.mysql.cj.jdbc.Driver、PostgreSQL 用org.postgresql.Driver、Oracle 用oracle.jdbc.OracleDriver。手动编辑驱动时,类名框保持默认值,只动库文件。

坑三:依赖不齐是大多数报错的根源。只把主 jar 拖进去、缺关联库,连接时就会出现ClassNotFoundException。所以前面强调"全选目录下所有 jar"——比如 UCanAccess 就必须带 jackcess 和 hsqldb,缺一不可。

坑四:多版本别串用。mysql5 与 mysql8 目录是分开的,连 MySQL 5.7 就用 5.1.48,连 8.x 就用 8.0.29 或 8.2.0。新旧驱动同时挂载容易互相干扰,按需选用就好。

这套方案适合谁,以及它还能走多远

如果你符合下面任何一条,现在就值得上手:

  • 日常工作要横跨多种数据库(全栈开发、数据分析、DBA 运维)
  • 团队新成员频繁入职,需要快速统一开发环境
  • 经常在不同电脑、虚拟机、Docker 环境之间切换
  • 被 ClickHouse、Redshift 这类"依赖大户"折磨过

项目本身也在持续迭代:从最早的 7.2.0 一路更新到 24.0.0,适配了 DBeaver 最新版本,驱动清单不断扩充。未来方向包括覆盖更多小众数据库、自动化版本更新、云数据库驱动支持等。如果你发现某个驱动缺失,直接在项目里提 Issue,维护者会补上——这也是它越用越全的原因。

现在就可以动手

别再把时间花在"找驱动"上了。打开终端,clone 一次,把驱动目录丢进 DBeaver,然后去写真正有价值的代码:

git clone https://gitcode.com/gh_mirrors/db/dbeaver-driver-all

项目会持续更新驱动版本,建议收藏后定期拉取最新代码,保持驱动与 DBeaver 版本同步。一次下载,长期受益——这笔账,怎么算都划算。😄

【免费下载链接】dbeaver-driver-alldbeaver所有jdbc驱动都在这,dbeaver all jdbc drivers ,come and download with me , one package come with all jdbc drivers.项目地址: https://gitcode.com/gh_mirrors/db/dbeaver-driver-all

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

返回列表