当我使用cassandra -jdbc将数据惰性化到表中时我得到错误
java.sql.SQLSyntaxErrorException:无法将’ani’解析为十六进制字节
在localhost:9160连接到测试群集.
[cqlsh 2.3.0 | Cassandra 1.2.0 | CQL规范3.0.0 |节俭协议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
请帮我.
谢谢
解决方法
您需要将name列创建为text或varchar.您收到的错误表明它是作为blob创建的.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。