2012-07-05 61 views
0

我正在使用cassandra-jdbc对cassandra中的数据执行操作,但是当我运行这个简单的程序时,我得到异常。使用cql从cassandar中选择数据

这是我的代码:

import java.sql.Connection; 
import java.sql.PreparedStatement; 
import java.sql.*; 
import javax.sql.*; 
public class Operations 
{ 
     public static void main(String[] args){ 
     try 
     { 
      Class.forName("org.apache.cassandra.cql.jdbc.CassandraDriver"); 
      Connection con =  DriverManager.getConnection("jdbc:cassandra://localhost:9160/temp"); 

      String qry = "select name FROM cql"; 

      Statement smt = con.createStatement(); 
      ResultSet resultSet = smt.executeQuery(qry); 
      System.out.println(resultSet); 
      while(resultSet.next()) 
      { 
       System.out.println(resultSet); 
      } 


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

我得到:无法解析 '名称' 为十六进制字节

+0

你真的需要在问题的CREATE TABLE语句关于CQL。 – jbellis 2012-07-06 16:28:48

回答

0

尝试:

import static org.apache.cassandra.utils.Hex.bytesToHex; 
... 

String name = bytesToHex("name".getBytes()); 
String qry = "select '" + name + "' FROM cql";