无法使用jdbc驱动程序连接Cassandra

时间:2017-02-06 10:56:21

标签: java jdbc cassandra datastax

您好我正在尝试使用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;
        }
    }
}
}

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

1 个答案:

答案 0 :(得分:-2)

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

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