应核对驱动名称、类名、JAR路径及运行时上报名称是否一致:编辑连接查看Driver settings中的驱动名与类名;Driver Manager中确认Driver files路径、Version、Class name和URL template;连接后通过结果集属性面板验证getMetaData().getDriverName()真实值。

连接详情页里直接看驱动名称和类名
右键已建立的连接 → 选择 Edit Connection → 切换到 Driver settings 标签页,顶部会明确显示当前使用的驱动名称(比如 PostgreSQL 或 DmDriver),下方 Driver class 输入框里就是实际加载的 JDBC 类名,例如 org.postgresql.Driver 或 dm.jdbc.driver.DmDriver。这个类名必须和你添加驱动时填的一致,否则连接会失败。
驱动管理器中确认驱动来源与版本
菜单栏 → Database → Driver Manager → 在列表中找到该连接对应的驱动项(名称通常和连接页一致)。点击它,右侧会显示:
• Driver files:列出所有已加载的 .jar 文件路径,比如 postgresql-42.7.3.jar;
• Version:自动从 jar 的 MANIFEST.MF 中读取,但有时为空,此时得靠文件名判断;
• Class name 和 URL template:必须和连接页里看到的完全匹配,否则是“看似连上了,实则用错了驱动”。
运行时验证:连接成功后查 getMetaData().getDriverName()
连上库后,在 SQL 编辑器里执行任意查询(哪怕只是 SELECT 1),然后立即打开结果集右上角的「属性」面板(或按 Ctrl+Shift+P),里面有一栏叫 Driver,值类似 PostgreSQL JDBC Driver —— 这是 JDBC 驱动自己上报的名称,比配置页更真实。如果这里显示的是 HikariCP 或 Apache DBCP,说明你连的根本不是直连,而是中间套了连接池,DBeaver 并未直接使用你配的那个驱动。
容易被忽略的关键点:同一个驱动名可能对应多个不同 jar
常见陷阱:
• 你手动添加了 mysql-connector-j-8.3.0.jar,但 DBeaver 自动下载了一个旧版 mysql-connector-java-5.1.49.jar 并优先加载了它;
• 达梦或人大金仓等国产库,驱动 jar 名称相似(如 DmJdbcDriver18.jar 和 DmJdbcDriver20.jar),但类名相同,实际行为差异很大;
• IoTDB 连接表模型时,必须用带 ?sql_dialect=table 参数的 URL,否则即使驱动类名对、jar 对,元数据也拉不出来。
所以光看名字没用,一定要核对 Driver files 列表里的完整路径和文件名。










