我是新來卡桑德拉和我想連接到卡桑德拉與Java jdbc.I使用下面的代碼,並得到這個錯誤信息...連接卡桑德拉和Java
try {
Class.forName(driver).newInstance();
con = DriverManager.getConnection(url, username, password);
System.out.println(con);
} catch(Exception e){
e.printStackTrace();
}
ERROR: Exception in thread "main" java.lang.NoSuchMethodError: org.apache.cassandra.thrift.Cassandra$Client.set_cql_version(Ljava/lang/String;)V at org.apache.cassandra.cql.jdbc.CassandraConnection.(CassandraConnection.java:138) at org.apache.cassandra.cql.jdbc.CassandraDriver.connect(CassandraDriver.java:92) at java.sql.DriverManager.getConnection(DriverManager.java:620) at java.sql.DriverManager.getConnection(DriverManager.java:200) at connect.Connect.main(Connect.java:24)
我也使用這些罐子:
- 赫克託 - 核心1.1-2
- libthrift-0.6.1.jar
- 卡桑德拉-JDBC-1.2.1.jar
- 卡桑德拉 - 全0.7.0.jar
誰能幫助我嗎?
您還需要cql jar。可以從Apache網站下載它。 – Chandana
看起來這個錯誤背後的原因是多個Cassandra在classpath中節省了jar版本。這是Cassandra 1.2中引入的「Cassandra $ Client.set_cql_version」,但在早期版本中不可用。 –