Java 带有身份验证的Cassandra jdbc连接
我正在尝试使用cdata jdbc连接器连接到Cassandra。但是,我找不到如何在连接url中提供用户名和密码。这是我的java代码Java 带有身份验证的Cassandra jdbc连接,java,jdbc,cassandra,cassandra-jdbc,Java,Jdbc,Cassandra,Cassandra Jdbc,我正在尝试使用cdata jdbc连接器连接到Cassandra。但是,我找不到如何在连接url中提供用户名和密码。这是我的java代码 package com.dremio.exec.store.jdbc.conf; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class TestConnection
package com.dremio.exec.store.jdbc.conf;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class TestConnection {
public static void main(String[] args) throws Exception {
Connection con = null;
Class.forName("org.apache.cassandra.cql.jdbc.CassandraDriver");
con = DriverManager.getConnection("jdbc:cassandra://localhost:9160");
String query = "SELECT * FROM emp";
Statement stmt = con.createStatement();
ResultSet result = stmt.executeQuery(query);
while (result.next()) {
System.out.println(result.getString("emp_id"));
System.out.println(result.getString("emp_name"));
System.out.println(result.getString("emp_city"));
}
con.close();
}
}
目前,我提供的url没有身份验证。如何在那里提供用户名和密码。列出和作为可用属性添加到JDBC连接字符串中。您可以将其与用户名和密码一起添加以进行身份验证:
con = DriverManager.getConnection(
"jdbc:cassandra://localhost:9160;User=ayush;Password=yourpwd");
您还可以将它们添加为属性,如示例中所述:
Properties prop = new Properties();
prop.setProperty("Port","9042");
prop.setProperty("Server","127.0.0.1");
prop.setProperty("User","ayush");
prop.setProperty("Password","yourpwd");
Connection conn = DriverManager.getConnection("jdbc:cassandra:",prop);
此外,除非您使用的是旧的Cassandra集群或启用节俭功能的3.x集群,否则9160将无法工作。事实上,Thrift项目已经有几年没有pull请求了,所以我建议离开它,在9042上使用本机二进制协议