1

カサンドラ 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));

誰かが私を助けることができますか?

4

1 に答える 1

1

質問のタイトルの答えをほのめかしました。接続はおそらく実際にはCQLバージョン3を使用していません。バージョン3の構文の使用は明示的に要求する必要があります。

JDBCドライバーの最新バージョンは、CQL 3の要求をまだサポートしていません。ただし、JDBCドライバーのエッジでの作業を気にしない場合は、「トランク」ブランチのバージョンはサポートしています。

このコミットの変更ログ: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は、その使用方法を説明しています。

于 2012-06-14T15:17:55.847 に答える