- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在使用 jdbc 连接到 Cassandra 数据库时遇到问题。
我收到一条错误消息SQLNonTransientConnectionException:键空间名称必须由字母数字和下划线组成
这是我的 jdbc 网址:jdbc:cassandra://test/test@localhost:7199/tutorialspoint
堆栈跟踪:
java.sql.SQLNonTransientConnectionException: Keyspace names must be composed of alphanumerics and underscores (parsed: 'test@localhost:7199/tutorialspoint')
at org.apache.cassandra.cql.jdbc.Utils.parseURL(Utils.java:183)
at org.apache.cassandra.cql.jdbc.CassandraDriver.connect(CassandraDriver.java:85)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:270)
感谢您的帮助!
编辑:这是我连接数据库的方法。
@Override
public boolean connect() {
StringBuilder sb_url = new StringBuilder("jdbc:cassandra://")
.append(this.username)
.append("/")
.append(this.password)
.append("@")
.append(this.url)
.append(":")
.append(this.port)
.append("/")
.append(this.database);
try {
log.debug("Trying to connect to: {}", sb_url.toString());
this.conn = DriverManager.getConnection(sb_url.toString());
} catch (SQLException ex) {
log.debug("Connection to database could not been established");
log.debug(ex.toString());
ex.printStackTrace();
return false;
}
log.debug("Connection to database has been established!");
return true;
}
最佳答案
我通过更改连接 URL 解决了问题。我替换了
StringBuilder sb_url = new StringBuilder("jdbc:cassandra://")
.append(this.username)
.append("/")
.append(this.password)
.append("@")
.append(this.url)
.append(":")
.append(this.port)
.append("/")
.append(this.database);
与:
StringBuilder sb_url = new StringBuilder("jdbc:cassandra://")
.append(this.url)
.append(":")
.append(this.port)
.append("/")
.append(this.database)
;
Properties props = new Properties();
props.setProperty("user", this.username);
props.setProperty("password", this.password);
显然正在解析 URL
jdbc:cassandra://test/test@localhost:7199/tutorialspoint
由于 URL 中的“@”而导致错误。
我通过检查 Github 上的 Cassandra JDBC 源代码找到了解决方案 https://github.com/slowenthal/cassandra-jdbc/tree/master/src/main/java/org/apache/cassandra/cql/jdbc
我希望这对其他人也有帮助。感谢您的帮助。
关于Java 使用 JDBC 连接到 Cassandra [SQLNonTransientConnectionException : Keyspace names must be composed of alphanumerics and underscores],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39411684/
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
在 Redis 中,使用 SCAN/COUNT 命令组合,我们可以从键空间中检索键,但顺序是随机的。例如,如果一个键空间有 100 个键,键存储为 001,002,003...100。如果我们使用命令
我想执行以下命令: alter KEYSPACE system_auth WITH replication = { 'class' : 'SimpleStrategy',
我正在使用嵌入式 Cassandra 服务器来测试具有 spring-data-cassandra 的 Spring Boot 应用程序。 我使用以下方法来清理表:EmbeddedCassandraS
我按照这个 spring-boot article 开始设置 spring 项目.但是突然应用程序无法成功启动,而是我得到以下堆栈跟踪: Exception in thread "main" org.
有没有办法检查当前上下文中是否存在 Astyanax Keyspace?现在我的代码执行以下操作: keyspace = context.getClient(); try{ keyspace.d
我在删除键空间时遇到 cassandra OperationTimedOutException 。尽管我已经给出了 60000 毫秒(1 分钟) timeOut 来阻止,直到我从 cassandra
我正在权衡将数据库从 Cassandra 迁移到 PostgreSQL 的选项。一个重大障碍是我们当前的 Multi-Tenancy Cassandra 数据库利用键空间来隔离客户端数据。每个客户端在
我可以通过以下方式启动服务器来在 Redis 中接收 key 更改发布-订阅通知: ./redis-server --notify-keyspace-events KEA 然后简单地运行以下脚本: i
我无法使用我的应用程序代码和 cqlsh 连接到 Amazon Keyspaces : cqlsh cassandra.eu-west-2.amazonaws.com 9142 -u "xxxxxxx
我正在经历pyspark_cassandra . 但是我看不到任何创建表/键空间的方法 => 有可能吗? 如果是这样,如何? 最佳答案 也许你可以试试这个包? 这个包来自 DataStax,它是 Py
我有一个托管在 AWS 上的小型 Cassandra 集群,我想使用 python 驱动程序连接到该集群。不幸的是,当我尝试从一台特定的电脑连接到它时,我得到“Keyspace不存在”。奇怪的是, k
我使用的是 cassandra 1.2.15 版本。使用 cassandra CQL Java 驱动程序,我将创建一个键空间。我的问题是我无法创建包含连字符(测试连字符)的键空间。 代码: Strin
是否可以使用 AWS Keyspace 作为存储后端来运行 JanusGraph Docker 容器? 我尝试使用 Janus Graphs cassandra-es 模板配置 key 空间。如果我运
我可以使用什么 cqlsh 命令来快速查看集群中的键空间? cqlsh 不提供 show keyspaces 并且 describe cluster 没有我想要的那么简洁。 我正在使用以下规范: cq
我是 Cassandra 的新手,我想在 Cassandra 中执行 CRUD 操作。我能够从 Java 类连接 Cassandra。但是现在当我执行 CRUD 时它不起作用。这是我的代码.. imp
我的问题对我来说解释起来相当复杂,因为我不太擅长数学,但我会尽量说清楚。 我正在尝试在 python 中编写一个集群,它将生成给定字符集的单词(即小写字母:aaaa、aaab、aaac、...、zzz
我正在尝试从 Cassandra 集群中获取元数据、键空间和表。我正在使用以下 node.js 代码: var express = require('express'); var bodyParser
我使用 USE billKeyspace; 输入一个键空间并开始使用它。现在我想退出这个键空间并进入另一个键空间。如何做到这一点? 如果我使用 exit; 或 quit; 它退出 cql sessio
Redis 中的 info keyspace 给出如下输出: db0:keys=XXX,expires=YYY expires 是什么意思?我找不到它的任何文档?是指设置过期的key的个数吗? 最佳答
我是一名优秀的程序员,十分优秀!