У меня есть простой кусок кода для удаления данных из Кассандры 2Cassandra Java datastax 2.1.8 Не удается подключиться к цитатами ключевого пространства
Cluster myCluster = Cluster.builder().addContactPoint(myhost).withPort(myport).build();
Session session = myCluster.connect(keyspaceName);
session.excecute(deleteStatement); -- it is just simple Delete.Where
Так в основном, когда я пытаюсь сделать что-то (например) keyspaceName = «test» он легко выполнит мой оператор delete, но если я попробую одно и то же для (например) keyspace = "\" DONT_WORK \ "" (так как у меня есть имя ключа в кавычках в cassandra), это не сработает , и будет выбрасывать
com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (tried: localhost/127.0.0.1:16660 (com.datastax.driver.core.ConnectionException: [localhost/127.0.0.1:16660] Pool is shutdown))
at com.datastax.driver.core.exceptions.NoHostAvailableException.copy(NoHostAvailableException.java:84)
at com.datastax.driver.core.DriverThrowables.propagateCause(DriverThrowables.java:37)
at com.datastax.driver.core.DefaultResultSetFuture.getUninterruptibly(DefaultResultSetFuture.java:214)
Мне нужна помощь
PS. Я даже использовал статический метод Metadata.quote() из библиотеки datastax - все еще не работает.
Как вы создали пространство ключей с кавычками? Я думаю, что это должен быть тот же синтаксис, когда вы удаляете. –
Чтобы быть откровенным, я уже работаю с существующим пространством ключей, но для записи: cassandra по умолчанию имеет строчное имя всего ключа, но если вы хотите проигнорировать этот строчный регистр, вы помещаете имя в кавычки. Например: введите CQL CREATE KEYSPACE «MY_KEYSPACE» С {...}, и он создаст ровно «MY_KEYSPACE» пространство ключей. – Kamil
Вы говорите 'myCluster.connect (namespaceName);' это проблема? –