0

我正在使用命令提示符启动 hsqldb 服务器,其中 db_name 作为 MDB,凭据作为 user=test 和 password=test,如下所示:

    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)}

请帮忙

4

1 回答 1

0

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

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");

除了user和之外的任何初始数据库设置都password以相同的方式定义。例如--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

于 2020-11-04T19:06:44.190 回答