我已经像这样启动了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");
有什么建议吗?
用户名只有在创建时加双引号时才区分大小写
CREATE USER "new_user" PASSWORD "some_password" ADMIN;
DriverManager.getConnection("jdbc:hsqldb:hsql://localhost/some_db", "new_user", "some_password");
在您的示例中,实际的用户名是NEW_USER,如果您在连接字符串中使用大写字母,则可以作为该用户进行连接。