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的主要内容,如果未能解决你的问题,请参考以下文章