未连接到HSQLDB数据库

问题描述 投票:0回答:1

我已经存在数据库。测试连接时,出现此异常

java.sql.SQLInvalidAuthorizationSpecException: invalid authorization specification: SA
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)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at libraryapp.AppConnect.getConnection(AppConnect.java:17)
at libraryapp.TestAppConnection.main(TestAppConnection.java:7)
Caused by: org.hsqldb.HsqlException: invalid authorization specification: SA
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.rights.User.checkPassword(Unknown Source)
at org.hsqldb.rights.UserManager.getUser(Unknown Source)
at org.hsqldb.Database.connect(Unknown Source)
at org.hsqldb.DatabaseManager.newSession(Unknown Source)

我的连接类别

public class AppConnect {
    private static final String url ="jdbc:hsqldb:file:src/main/resources/db/library";
    private static final String driver ="org.hsqldb.jdbcDriver";
    private static final String user = "SA";
    private static final String password = " ";

    public Connection getConnection() {
        Connection connection = null;
        try {
            Class.forName(driver);
            connection = DriverManager.getConnection(url, user, password);
            connection.setAutoCommit(true);
            System.out.println("Good connection");
        } catch (ClassNotFoundException | SQLException e) {
            e.printStackTrace();
            System.out.println("Failed to establish the connection :(");
        }
        return connection;
    }
}

在pom.xml中,我有这个

<dependency>
    <groupId>org.hsqldb</groupId>
    <artifactId>hsqldb</artifactId>
    <version>2.5.0</version>
</dependency>

如果我将路径更改为不存在的数据库,则创建并连接它

database-connection hsqldb
1个回答
0
投票

错误表明您的连接URL找到了数据库,但用户名和密码的组合不正确。

您使用的密码是一个空格,但是数据库的默认密码是空字符串。尝试将其更改为:

  private static final String password = "";

如果不起作用,则需要找出创建数据库时最初用作用户名和密码的内容。

© www.soinside.com 2019 - 2024. All rights reserved.