如何将CQL 3.0与JDBC驱动程序或Hector一起使用

时间:2012-06-14 03:19:37

标签: cassandra

我正在使用cassandra 1.1.1。但是,每当我使用复合键创建列族时,我都会收到如下错误,

java.sql.SQLSyntaxErrorException: line 1:117 mismatched input ')' expecting EOF 
at org.apache.cassandra.cql.jdbc.CassandraStatement.
                                          doExecute(CassandraStatement.java:180) 
at org.apache.cassandra.cql.jdbc.CassandraStatement.executeUpdate(
                                                    CassandraStatement.java:237) 
at jdbc.cassandra.JdbcCassandra.main(JdbcCassandra.java:59)

我的查询是CREATE TABLE sblocks (block_id uuid, subblock_id uuid, data blob, PRIMARY KEY (block_id, subblock_id));

有些人可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

您提到了问题标题中的答案:您的连接可能实际上并未使用CQL版本3.必须明确请求使用版本3语法。

最新版本的JDBC驱动程序尚不支持请求CQL 3.但是,如果您不介意生活在JDBC驱动程序边缘,那么“trunk”分支中的版本确实存在。

此提交的更改日志:http://code.google.com/a/apache-extras.org/p/cassandra-jdbc/source/browse/src/main/java/org/apache/cassandra/cql/jdbc/CassandraConnection.java?name=trunk说明了如何使用它。