手动添加驱动JAR包是生产环境、离线场景和版本可控下的标准操作;必须删除DBeaver默认驱动再添加全部必要JAR,否则新JAR不生效,且需确保路径纯英文无空格、文件名无特殊字符、类路径完整无重复。

手动添加驱动 JAR 包不是“补救措施”,而是生产环境、离线场景和版本可控需求下的标准操作。DBeaver 默认联网拉取驱动,但一旦网络受限、Maven 仓库不可达或目标数据库(如 Oracle 19c、TDengine、MongoDB)需要多 JAR 协同,就必须走手动路径。
为什么删掉默认驱动再加文件是必须步骤
DBeaver 在首次选择某数据库类型(如 Oracle 或 MySQL)时,会自动预置一个从 Maven 下载的驱动条目。这个条目往往只含单个 ojdbc8.jar 或 mysql-connector-java-8.0.33.jar,而实际运行中可能缺依赖——比如 Oracle 19c 需要 ucp.jar、ons.jar,TDengine 需要 taos-jdbcdriver.jar 加 slf4j-api.jar。不删默认项,新添加的 JAR 不会生效,因为 DBeaver 优先加载已注册的“默认驱动实例”。
操作要点:
- 进「数据库 → 驱动管理器」,选中对应驱动(如
Oracle),点「编辑」 - 切到「库」标签页,全选已有 JAR 行,点「移除」
- 再点「添加文件」或「添加文件夹」,一次性导入你准备好的全部必要 JAR
- 确认类路径列表里没有重复、路径异常或 .jar 后缀被截断的条目
不同数据库对 JAR 数量和版本的硬性要求
不是所有数据库都像 MySQL 那样单 JAR 足够。驱动能否连通,取决于底层 JDBC 实现是否完整加载了协议解析、连接池、字符集、SSL 等模块。
常见情况:
-
Oracle 19c:至少需ojdbc10.jar+ucp.jar+orai18n.jar;若用 TNS 连接,ons.jar和simplefan.jar也得带上 -
TDengine:官方 JDBC 驱动taos-jdbcdriver.jar必须搭配slf4j-api.jar(否则报NoClassDefFoundError: org/slf4j/LoggerFactory) -
MongoDB:DBSchema 的mongo-jdbc-standalone.jar是自包含方案;若用社区版驱动,需额外加bson.jar、mongodb-driver-sync.jar -
ClickHouse:推荐用clickhouse-jdbc-0.4.6.jar(新版 0.6+ 有 TLS 兼容问题,DBeaver 23.3.x 未完全适配)
路径和文件名里的隐藏陷阱
看似只是点几下「添加文件」,但实际失败常源于路径或命名细节:
- Windows 下路径含中文或空格(如
C:\我的驱动\oracle\ojdbc10.jar)会导致类加载失败,建议移到C:\drivers\oracle\这类纯英文无空格路径 - JAR 文件名不能含
+、%、括号等特殊字符(如mysql-connector-java-8.0.33 (1).jar会被截断识别为mysql-connector-java-8.0.33) - 别把整个
drivers/文件夹直接拖进「添加文件夹」——DBeaver 会递归扫描子目录,可能误加载测试用的旧版 JAR(例如drivers/mysql/old/mysql-connector-java-5.1.47.jar) - Oracle 驱动若混入
ojdbc6.jar(11g)和ojdbc10.jar(19c),DBeaver 可能随机加载其一,导致连接时抛java.sql.SQLException: ORA-28040: No matching authentication protocol
真正麻烦的不是“怎么加”,而是加完之后 DBeaver 不报错也不连通——它静默跳过缺失依赖,只在执行查询时才暴露问题。所以每次手动配完,务必点「测试连接」前,先展开「驱动设置 → 库」确认所有 JAR 已列齐、无红叉、无乱码路径。这一步省不得。


















