You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在DBeaver中用JDBC驱动连接ScyllaDB遇错误,求成功方案

ScyllaDB第三方JDBC驱动连接问题及解决方案

问题描述

我尝试通过第三方JDBC驱动连接ScyllaDB,参考官方文档操作,步骤如下:

  • 访问maven仓库搜索com.scylladb,获取java-driver-core-shaded包
  • 打开DBeaver进行配置:
    • 依次点击Database > Driver Manager > New > Library > Add file
    • 选择下载好的shaded .jar文件
    • 返回Settings标签页,填写配置信息后点击ok
  • 进入Database > New connection,填写JDBC地址:jdbc:cassandra://hostname:9042

操作后遇到错误:

Can't create driver instance
  Error during driver instantiation
  Error during driver instantiation
    com.datastax.oss.driver.api.core.CqlSession.<init>()
    com.datastax.oss.driver.api.core.CqlSession.<init>()

换用com.ing.data.cassandra.jdbc.CassandraDriver驱动时,能查看数据库模式,但查询表时出现:

SQL Error: com.datastax.oss.driver.api.core.NoNodeAvailableException: No node was available to execute the query

可行的连接方案

1. 选择完整的驱动包

不要仅添加java-driver-core-shaded,需使用Scylla官方提供的完整JDBC驱动包(如scylla-jdbc-driver),该包包含所有必要依赖,避免因缺少组件导致驱动实例创建失败。

2. 修正DBeaver驱动配置

  • 在Driver Manager新建驱动时,指定正确的驱动类:com.scylladb.jdbc.Driver
  • JDBC URL必须包含localdatacenter参数,格式为:
    jdbc:scylladb://<host>:9042/<keyspace>?localdatacenter=<你的数据中心名称>
    
    数据中心名称可通过ScyllaDB的nodetool status命令查看。

3. 解决节点不可用异常

  • 验证ScyllaDB节点的9042端口是否可访问,本地可执行telnet <host> 9042或nc -zv <host> 9042测试连通性
  • 若未配置ScyllaDB的SSL,需在DBeaver驱动设置中禁用SSL选项
  • 确认JDBC URL中的主机地址正确,避免使用localhost(如果ScyllaDB部署在远程服务器)

验证

配置完成后点击DBeaver的「测试连接」,连接成功即可正常执行表查询操作。

内容的提问来源于stack exchange,提问作者jlarks32

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 14:03:35