4

cassandra -jdbc を使用してデータをテーブルに挿入すると、エラー java.sql.SQLSyntaxErrorException: cannot parse 'ani' as hex bytes が発生しました

localhost:9160 でテスト クラスターに接続しました。[cqlsh 2.3.0 | カサンドラ 1.2.0 | CQL 仕様 3.0.0 | Thrift プロトコル 19.35.0] CQL3 を使用してテーブルを作成

cqlsh:testkeyspace> create columnfamily login(
                ... key varchar primary key,
                ... name varchar,
                ... password varchar);


package com.bsmart;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class InsertCass {

        public static void main(String[] args) {
            try
            {
                Class.forName("org.apache.cassandra.cql.jdbc.CassandraDriver");
                Connection con =DriverManager.getConnection("jdbc:cassandra://localhost:9160/testkeyspace");

                String qry = "INSERT INTO login (KEY, name, password) VALUES ( 't', 'ani','agrawal');";
                PreparedStatement smt = con.prepareStatement(qry);
                smt.execute();
                // int i=smt.executeUpdate();

                System.out.println("records inserted>>>>");



            }
            catch(Exception e)
            {
                System.out.println(" error: "+e.getMessage());
                e.printStackTrace();
            }

    }

しかしエラー-

log4j:WARN No appenders could be found for logger (org.apache.cassandra.cql.jdbc.CassandraDriver).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
java.sql.SQLSyntaxErrorException: cannot parse 'ani' as hex bytes
    at org.apache.cassandra.cql.jdbc.CassandraPreparedStatement.doExecute(CassandraPreparedStatement.java:155)
    at org.apache.cassandra.cql.jdbc.CassandraPreparedStatement.execute(CassandraPreparedStatement.java:191)
    at com.bsmart.InsertCass.main(InsertCass.java:18)
 error: cannot parse 'ani' as hex bytes

私を助けてください。ありがとう

4

2 に答える 2

1

またはnameとして列を作成する必要があります。あなたが得ているエラーは、それがとして作成されたことを示唆しています。textvarcharblob

于 2013-02-24T04:55:00.663 に答える
0

自分でこの問題を抱えていましたが、私の場合はdouble.

Python の場合は、適切なバージョンの cql を指定してください。

cql.connect(cluster_address, port, keyspace, cql_version='3.1.1')

于 2014-03-24T01:18:14.460 に答える