无法以新用户身份连接到 HyperSQL / HSQLDB 数据库

Posted

技术标签:

【中文标题】无法以新用户身份连接到 HyperSQL / HSQLDB 数据库【英文标题】:Can't connect to HyperSQL / HSQLDB database as new user 【发布时间】:2015-09-24 09:33:41 【问题描述】:

我是这样启动 HyperSQL 的:

java -cp hsqldb.jar org.hsqldb.server.Server --database.0 file:/data/db --dbname.0 some_db 

然后,如果我尝试像这样连接到它:

DriverManager.getConnection("jdbc:hsqldb:hsql://localhost/some_db", "SA", "");

一切正常。现在当我添加新用户时:

CREATE USER new_user PASSWORD "some_password" ADMIN;

我无法使用新的用户数据连接到 HyperSQL 服务器(重启后也是如此):

   DriverManager.getConnection("jdbc:hsqldb:hsql://localhost/some_db", "new_user", "some_password");

有什么建议吗?

【问题讨论】:

【参考方案1】:

用户名只有在创建时双引号才区分大小写

CREATE USER "new_user" PASSWORD "some_password" ADMIN;
DriverManager.getConnection("jdbc:hsqldb:hsql://localhost/some_db", "new_user", "some_password");

在您的示例中,实际用户名是 NEW_USER,如果您在连接字符串中使用大写字母,您可以以此用户身份进行连接。

【讨论】:

以上是关于无法以新用户身份连接到 HyperSQL / HSQLDB 数据库的主要内容,如果未能解决你的问题,请参考以下文章

如何从 C# 连接到 HyperSQL DB

无法以新用户身份登录 Postgres DB

以域用户身份登录时无法连接到 IBM WS 本地队列管理器

DbVisualizer 在没有身份验证的情况下无法连接到 PostgreSQL 数据库

无法连接到数据库,用户登录失败

无法使用 mariadb gssapi 连接到 php 中的数据库,客户端未知的身份验证方法