我正在尝试使用JDBC驱动程序连接到Cassandra . 我的Cassandra版本是2.2.4和java 1.7.0_101:
Class.forName("org.apache.cassandra.cql.jdbc.CassandraDriver");
Connection con = DriverManager.getConnection("jdbc:cassandra://10.11.15.242:9160/edgeview");
“edgeview”是我的键空间 . 我已经使用9160端口连接到cassandra因为它不允许我在没有libthrift库(交叉语言库)的情况下连接 .
如果我试图查询cassandra它总是给我错误“字符串索引超出范围:-1” .
这似乎是一些兼容性问题,因为很多我的发现说Cassandra 2.2 with thrift已被弃用 .
有关如何进行此操作的任何帮助?
Thanx提前
3 回答
我正在使用JPA和cassandra,因此使用jdbc
虽然有一个来自datastax的非jdbc解决方案,但您可以将jdbc与cassandra一起使用
maven依赖
com.github.zhicwu
enter code here
cassandra-jdbc-driver 0.6.1问候
我不知道你是否强制要求使用jdbc . 如果不是,我建议您使用datastax driver for cassandra . 我用过它真的很容易 . 如果您在设置时遇到问题,我可以提供帮助 .
遵循Cassandra文档,您应该使用Datastax Java API . Cassandra它不是一个SQL数据库,而是一个NOSQL因此有完全不同的系统 .
如果您有maven项目,请在pom.xml配置文件中添加这些依赖项:
这里,maven存储库URL:https://mvnrepository.com/artifact/com.datastax.cassandra/cassandra-driver-core
之后,创建你的第一个Hello Cassandra main如下:
我希望这可以帮到你