ScyllaDB cqlsh JDBC 驱动程序与 DBeaver

问题描述 投票:0回答:1

我正在尝试使用第三方 JDBC 驱动程序通过 ScyllaDB 进行连接。我主要在这里引用:https://java-driver.docs.scylladb.com/stable/index.html#

  1. 前往
    maven.com
    https://search.maven.org/search?q=g:com.scylladb 并抓住
    java-driver-core-shaded
  2. 打开DBeaver
    1. Database > Driver Manager > New > Library > Add file
    2. 选择下载的阴影
      .jar
      文件
    3. 返回
      Settings
      选项卡
    4. 相应填充
    5. 击中
      ok
  3. 然后返回
    Database > New connection
    1. 将 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

有人真的成功做到了吗?

dbeaver scylla cassandra-driver
1个回答
0
投票

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 驱动程序和连接字符串 页面。干杯!

© www.soinside.com 2019 - 2024. All rights reserved.