无法连接到OpenOffice Base - 用户缺少权限或对象未找到异常

时间:2012-09-27 13:37:35

标签: sql jdbc hsqldb openoffice-base

我正在尝试从Java连接到OpenOffice Base数据库并执行查询,但却无法实现。

这是我遵循的步骤:

1)在OpenOffice中创建了一个数据库'TestDB.odb',以及一个包含列(ID,Name,Director)的表'Movies'

2)下载了hsqldb jar文件并包含在项目构建路径中

3)使用以下代码连接到它:

String file_name_prefix = "C:/Documents and Settings/327701/My Documents/TestDB.odb";
Connection con = null;
Class.forName("org.hsqldb.jdbcDriver"); 
con = DriverManager.getConnection("jdbc:hsqldb:file:" + file_name_prefix, "sa","");
Statement statement = con.createStatement();
String query1 = "SELECT * FROM \"Movies\"";
ResultSet rs = statement.executeQuery(query1);

Althoug我能够连接到数据库,它会在尝试执行查询时抛出以下异常:

org.hsqldb.HsqlException:用户缺少未找到的权限或对象:电影

尝试使用Google搜索,但无法解决我的问题。我被困住了,如果有人可以指导我如何解决这个问题会很棒吗?

2 个答案:

答案 0 :(得分:1)

您无法连接到.odb数据库。您连接的数据库实际上是一组separeate文件,其名称如TestDB.odb.script等。

检查http://user.services.openoffice.org/en/forum/viewtopic.php?f=83&t=17567如何在服务器模式下从OOo外部使用HSQLDB数据库。您可以使用HSQLDB jar连接到此类数据库。

答案 1 :(得分:0)

旧线程。

我失去了2天的生命,直到我改变了财产:

spring.jpa.properties.hibernate.globally_quoted_identifiers = false

之前我使用的是mysql,然后我改为hsqldb以运行一些测试。我有点复制并粘贴了这个属性而没有看,然后你就知道了 - 墨菲定律...

我希望它有所帮助。