微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在cmd中使用服务器启动命令中的用户名和密码进行HSQLDB服务器连接不起作用

如何解决在cmd中使用服务器启动命令中的用户名和密码进行HSQLDB服务器连接不起作用

我正在使用命令提示符将db_name作为MDB并将凭据作为user = test和password = test来启动hsqldb服务器:

    java -cp hsqldb.jar org.hsqldb.server.Server --database.0 file:/E:/DB/mdb --dbname.0 mdb user=test 
    password=test

它启动服务器没有错误,但是当我在Java代码中使用相同的凭据时

    con = DriverManager.getConnection("jdbc:hsqldb:hsql://localhost/mware;file:E:/DB/mdb","test","test");

它将引发异常:

 {java.sql.sqlInvalidAuthorizationSpecException: invalid authorization specification - not found: test
    at org.hsqldb.jdbc.JDBCUtil.sqlException(UnkNown Source)
    at org.hsqldb.jdbc.JDBCUtil.sqlException(UnkNown Source)
    at org.hsqldb.jdbc.JDBCConnection.<init>(UnkNown Source)
    at org.hsqldb.jdbc.JDBCDriver.getConnection(UnkNown Source)
    at org.hsqldb.jdbc.JDBCDriver.connect(UnkNown Source)}

请帮助

解决方法

启动服务器的正确方法是:

java -cp hsqldb.jar org.hsqldb.server.Server --database.0 file:/E:/DB/mdb;user=test;password=test --dbname.0 mware 

连接应该是这样的:

con = DriverManager.getConnection("jdbc:hsqldb:hsql://localhost/mware,"test","test");

userpassword以外的任何初始数据库设置都以相同的方式定义。例如--database.0 file:/E:/DB/mdb;user=test;password=test;hsqldb.tx=mvcc。这些属性将应用于新的数据库,以后可以使用SQL语句进行更改。参见http://hsqldb.org/doc/2.0/guide/dbproperties-chapt.html#dpc_db_operations

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。