Nosql cassandra CQL3十六进制字节转换错误的插入错误
当我使用cassandra-jdbc将数据放入表中时,我得到了错误java.sql.SQLSyntaxErrorException:无法将“ani”解析为十六进制字节 已连接到本地主机上的测试群集:9160。 [cqlsh 2.3.0 |卡桑德拉1.2.0 | CQL规范3.0.0 |节约协议19.35.0] 使用CQL3创建表Nosql cassandra CQL3十六进制字节转换错误的插入错误,nosql,cassandra,cql3,Nosql,Cassandra,Cql3,当我使用cassandra-jdbc将数据放入表中时,我得到了错误java.sql.SQLSyntaxErrorException:无法将“ani”解析为十六进制字节 已连接到本地主机上的测试群集:9160。 [cqlsh 2.3.0 |卡桑德拉1.2.0 | CQL规范3.0.0 |节约协议19.35.0] 使用CQL3创建表 cqlsh:testkeyspace> create columnfamily login( ... key varchar pr
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
请帮帮我。
谢谢您需要将
名称
列创建为text
或varchar
。您收到的错误表明它是创建为blob
的,我自己也有这个问题,但在我的情况下,它是由一种double
引起的
对于python,请确保指定适当的cql版本
cql.connect(群集地址、端口、键空间、cql\u版本='3.1.1')
不确定…用于创建表的DDL语句似乎有问题。您必须正确地指定验证类&all..I将name列创建为varchar。但错误无法解决。cqlsh:testkeyspace>create columnfamily登录(…key varchar primary key,…name varchar,…password varchar);