0

我正在尝试从 Java 连接到 OpenOffice Base 数据库并执行查询,但未能成功。

这些是我遵循的步骤:

1) 在 OpenOffice 中创建了一个数据库“TestDB.odb”,以及一个包含列(ID、名称、导演)的表“电影”

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);

尽管我能够连接到数据库,但在尝试执行查询时会引发以下异常:

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

尝试谷歌搜索,但未能解决我的问题。我被卡住了,如果有人可以指导我如何解决这个问题,那就太好了?

4

2 回答 2

1

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

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

于 2012-09-27T14:48:09.380 回答
0

旧线程。

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

spring.jpa.properties.hibernate.globally_quoted_identifiers = false

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

我希望它有所帮助。

于 2017-09-17T08:15:41.413 回答