【问题标题】:Unable to connect Cassandra using jdbc driver无法使用 jdbc 驱动程序连接 Cassandra
【发布时间】:2017-06-23 07:03:15
【问题描述】:

您好,我正在尝试使用 jdbc 驱动程序连接 Cassandra。我收到以下异常。

java.sql.SQLNonTransientConnectionException: Connection url must specify a host, e.g., jdbc:cassandra://localhost:9170/Keyspace1
    at org.apache.cassandra.cql.jdbc.Utils.parseURL(Utils.java:190)
    at org.apache.cassandra.cql.jdbc.CassandraDriver.connect(CassandraDriver.java:85)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at com.sub.cas.CqlJdbcTestBasic.main(CqlJdbcTestBasic.java:14)

我的 cassandra 服务器运行良好,可以从 windows 10 操作系统中的 cql shell 访问。

这是我写的java类。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class CqlJdbcTestBasic {
public static void main(String[] args) {
    Connection con = null;
    try {
        Class.forName("org.apache.cassandra.cql.jdbc.CassandraDriver");
        con = DriverManager.getConnection("jdbc:cassandra:/root/root@localhost:9160/hr");

        String query = "SELECT empid, emp_first, emp_last FROM User WHERE empid = 1";

        Statement stmt = con.createStatement();
        ResultSet result = stmt.executeQuery(query);

        while (result.next()) {
            System.out.println(result.getString("empid"));
            System.out.println(result.getString("emp_first"));
            System.out.println(result.getString("emp_last"));
        }

    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    } catch (SQLException e) {
        e.printStackTrace();
    } finally {
        if (con != null) {
            try {
                con.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            con = null;
        }
    }
}
}

我从这个 url :: https://code.google.com/archive/a/apache-extras.org/p/cassandra-jdbc 收集了我的罐子。无法找到任何可能的解决方案。请帮忙。

【问题讨论】:

  • Connection url must specify a host, e.g., jdbc:cassandra://localhost:9170/Keyspace1。你的无效:jdbc:cassandra:/root/root@localhost:9160/hr
  • 你可以在这里学习stackoverflow.com/a/41951737/5558072

标签: java jdbc cassandra datastax


【解决方案1】:

请检查您的用户名前是否有两个斜杠。根据

http://www.dbschema.com/cassandra-jdbc-driver.html

【讨论】:

    猜你喜欢
    • 2016-12-22
    • 1970-01-01
    • 2014-07-28
    • 2018-03-25
    • 2021-05-18
    • 1970-01-01
    • 1970-01-01
    • 2015-08-16
    • 2016-02-18
    相关资源
    最近更新 更多