我有cassandra的另一个问题..我在.csv格式的Mysql中导出一个表并将其导入Cassandra.the Mysql表包含类型日期和时间的filds日期和时间。我在cassandra中将这些字段定义为varchar。所以当我导入.csv文件并执行以下查询时,它会显示一个错误: 我的疑问:
ResultSet rs = stmnt.ExecuteQuery("Select * from station info where IDstation = 1011 and IDinfo = 18412:);
while (rs.next) {
System.out.println(rs1.getFloate(1) + " " +
rs1.getString(2) + " " +
rs1.getFloate(3) + " " +
rs1.getString(4) + " " +
rs1.getInt(5) + " " +
rs1.getInt(6) + " " +
rs1.getString(7) + " " +
rs1.getFloate(8));
}
打印命令中的第7个字段是日期..
,错误是:
java.lang.NumberFormatException: For input String: "6/2/1962"
at org.apache.cassandracql.jdbc.cassandraResultSet.getInt(CassandraResultSet.java:619)
at org.apache.cassandracql.jdbc.cassandraResultSet.getInt(CassandraResultSet.java:590)
我无法理解它的含义......任何人都可以帮助我吗?
答案 0 :(得分:1)
仔细阅读堆栈跟踪告诉你的内容
java.lang.NumberFormatException:对于输入字符串:“6/2/1962” 在org.apache.cassandracql.jdbc.cassandraResultSet。 getInt (CassandraResultSet.java:619) 在org.apache.cassandracql.jdbc.cassandraResultSet。 getInt (CassandraResultSet.java:590)
您遇到的错误是尝试将字符串检索为整数。
答案 1 :(得分:0)
确保日期列仅在第7个位置而不是其他任何位置。我建议您通过指定列名来改进查询。例如,
SELECT Col1, Col2... FROM Table
这可以避免混淆列顺序。