InvalidRequestException Keyspace keyspace1不存在

时间:2014-11-24 17:42:36

标签: cassandra datastax cassandra-jdbc

我尝试通过JDBC连接到Datastax Community Edition服务器2.1.2,但无论我尝试做什么,我都会收到以下错误,即使在发出像select * from system_traces.events;这样的非常基本的命令时也是如此

InvalidRequestException(why:Keyspace 'keyspace1' does not exist)

通过cqlsh发出相同的命令可以正常工作,因此它似乎是一个JDBC问题。

InvalidRequestException(why:Keyspace 'keyspace1' does not exist) 
    at org.apache.cassandra.cql.jdbc.CassandraConnection.<init>(CassandraConnection.java:229):229 
    at org.apache.cassandra.cql.jdbc.CassandraDriver.connect(CassandraDriver.java:92):92 
    at java.sql.DriverManager.getConnection(DriverManager.java:664):664 
    at java.sql.DriverManager.getConnection(DriverManager.java:270):270 
    at railo.commons.db.DBUtil.getConnection(DBUtil.java:109):109 
    at railo.runtime.db.DatasourceConnectionPool.loadDatasourceConnection(DatasourceConnectionPool.java:89):89 
    at railo.runtime.db.DatasourceConnectionPool.getDatasourceConnection(DatasourceConnectionPool.java:81):81 
    at railo.runtime.db.DatasourceManagerImpl.getConnection(DatasourceManagerImpl.java:65):65 
    at railo.runtime.tag.Query.executeDatasoure(Query.java:696):696 ...

有什么想法吗? TIA!

1 个答案:

答案 0 :(得分:3)

InvalidRequestException(why:Keyspace 'keyspace1' does not exist) 

此异常意味着您正在尝试查询尚未添加到Cassandra的密钥空间(在本例中为“Keyspace1”)。尝试在查询之前创建密钥空间。

你可能正在做一个你没有看到的select(SELECT * FROM "Keyspace1"."Standard1")或者将初始化参数传递给JDBC,告诉它连接到Keyspace1。通过搜索您的查询来验证您的代码没有查找不存在的密钥空间,特别是查找 Keyspace1 (或“Keyspace1”,因为在这种情况下, keyspace名称区分大小写)。

另一方面,“Keyspace1”。“Standard1”往往是用于cassandra示例的标准ks.cf对,所以最好扫描你的代码以确保它们是在它们出现之前创建的。查询。