java - Hsqldb异常 : user lacks privilege or object not found: TABLE

标签 java ms-access hsqldb

我正在尝试使用 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

最佳答案

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

欲了解更多信息,请参阅

Manipulating an Access database from Java without ODBC

关于java - Hsqldb异常 : user lacks privilege or object not found: TABLE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28964375/

相关文章:

java - 当 EditText 为空时单击按钮时应用程序崩溃

ms-access - VBA 文件的版本控制

java - 对象不是声明类-Hibernate 的实例

maven - HSQL 单元测试——如何创建多个内存模式?

spring - 如何在每次单元测试后重置我的数据库状态而不使整个测试成为事务?

java - 为什么在阻塞调用之前过早设置中断状态会导致无限循环?

java - 为什么 Java 的 +=、-=、*=、/= 复合赋值运算符不需要转换?

java - 将逗号分隔的字符串作为 sql "IN"子句的输入

ms-access - 如何使 Access 中的表单成为弹出窗口?

c# - 小巧玲珑 + MSAccess : How to get identifier of inserted row