HsqldbException:用户缺少权限或找不到对象:TABLE

Posted

技术标签:

【中文标题】HsqldbException:用户缺少权限或找不到对象:TABLE【英文标题】:HsqldbException: user lacks privilege or object not found: TABLE 【发布时间】:2015-03-10 12:59:32 【问题描述】:

我正在尝试使用 java 中的 hsqldb 连接到 MS Access 数据库。我添加了我需要的所有库,但最后我仍然得到一个异常: 线程“主”java.sql.SQLSyntaxErrorException 中的异常:用户缺少权限或找不到对象:MESSAGES 原因:org.hsqldb.HsqlException:用户缺少权限或找不到对象:MESSAGES

代码如下:

    Connection conn = null;
try 
    Class.forName("org.hsqldb.jdbcDriver");
    conn = DriverManager.getConnection("jdbc:hsqldb:D:/sms4.accdb", "sa", "");
 catch (SQLException e) 
    e.printStackTrace();
 catch (ClassNotFoundException e) 
    e.printStackTrace();


Statement s = conn.createStatement();
ResultSet rs = s.executeQuery("select * from Messages"); //here is where I get the error

【问题讨论】:

【参考方案1】:

HSQLDB 不能(据我所知)直接打开 Access 数据库。您将需要使用UCanAccess JDBC 驱动程序。 (它在后台使用 HSQLDB,但您的 Java 应用程序从不直接操作 HSQLDB“后备数据库”。)

有关详细信息,请参阅

Manipulating an Access database from Java without ODBC

【讨论】:

是的,谢谢你的信息!我删除了 Class.forName 并将下一行修改为:DriverManager.getConnection("jdbc:ucanaccess://D:/sms4.accdb") 现在一切正常。

以上是关于HsqldbException:用户缺少权限或找不到对象:TABLE的主要内容,如果未能解决你的问题,请参考以下文章

用户缺少权限或找不到对象:XXXX

HSQLDB SqlTool 抛出用户缺少权限或找不到对象

HSQLDB:用户缺少权限或找不到对象错误

HSQLDB:用户缺少权限或找不到对象:USERS

用户缺少权限或找不到对象

SpringBoot 用户缺少权限或找不到对象 HSQLDB