我正在尝试使用第三方 JDBC 驱动程序通过 ScyllaDB 进行连接。我主要在这里引用:https://java-driver.docs.scylladb.com/stable/index.html#
maven.com
:https://search.maven.org/search?q=g:com.scylladb 并抓住 java-driver-core-shaded
Database > Driver Manager > New > Library > Add file
.jar
文件Settings
选项卡ok
Database > New connection
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
有人真的成功做到了吗?
Java驱动程序是独家使用Cassandra本机CQL二进制协议的客户端。它与符合 JDBC 的驱动程序完全不同,因此您无法将它与 DBeaver 一起使用。
ING 的 cassandra-jdbc-wrapper 是 Cassandra Java 驱动程序的包装器,它符合 JDBC,可与 Apache Cassandra 2.1+、DataStax Enterprise 5.0+ 和 DataStax Astra DB 配合使用(请参阅 兼容性矩阵)。
理论上它应该可以工作,但它尚未在 ScyllaDB 上进行正式测试,因此您必须自己进行一些测试。
NoNodeAvailableException
表示驱动程序根本无法访问您的集群,因此您需要确保安装了 DBeaver 的笔记本电脑/计算机与您的 ScyllaDB 实例之间存在网络连接。
需要添加的一件重要事情是,您必须同时指定 (1) 键空间名称和 (2) 本地 DC。 JDBC URL 应如下所示:
jdbc:cassandra://myhost:9042/ks_name?localdatacenter=DC1
有关更多信息,请参阅 JDBC 驱动程序和连接字符串 页面。干杯!