InvalidRequestException Keyspace keyspace1 не существует

Я пытаюсь подключиться к серверу Datastax Community Edition 2.1.2 через JDBC, но я продолжаю получать следующую ошибку независимо от того, что я пытаюсь сделать, даже при вводе очень простой команды, такой как 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 ...

Любые идеи? ТИА!


person isapir    schedule 24.11.2014    source источник


Ответы (1)


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

Это исключение означает, что вы пытаетесь запросить пространство ключей (в данном случае «Keyspace1»), которое еще не было добавлено в Cassandra. Попробуйте создать пространство ключей, прежде чем запрашивать его.

Вероятно, вы выполняете выбор (SELECT * FROM "Keyspace1"."Standard1"), который не видите, или передаете параметры инициализации в JDBC, сообщая ему о подключении к Keyspace1. Убедитесь, что ваш код не ищет несуществующее пространство ключей, выполнив поиск по имеющимся у вас запросам, особенно ища Keyspace1 (или "Keyspace1", так как в этом случае имя пространства ключей чувствительно к регистру).

С другой стороны, «Keyspace1». «Standard1», как правило, является стандартной парой ks.cf, используемой для примеров cassandra, поэтому было бы хорошо отсканировать ваш код для них, чтобы убедиться, что они созданы до того, как они будут запрошены.

person Lyuben Todorov    schedule 24.11.2014
comment
Спасибо Любен. По-видимому, строка подключения, которую я использую (скопированная откуда-то в Интернете), имеет /keyspace1 в URI, и я пропустил это, пока вы не указали на возможность строки инициализации. - person isapir; 24.11.2014