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

Posted

技术标签:

【中文标题】无法连接到 OpenOffice Base - 用户缺少权限或找不到对象异常【英文标题】:Not able to connect to OpenOffice Base - User lacks privilege or object not found Exception 【发布时间】:2012-09-27 13:37:35 【问题描述】:

我正在尝试从 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:用户缺少权限或找不到对象:电影

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

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

【参考方案2】:

旧线程。

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

spring.jpa.properties.hibernate.globally_quoted_identifiers = false

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

希望对你有帮助。

【讨论】:

以上是关于无法连接到 OpenOffice Base - 用户缺少权限或找不到对象异常的主要内容,如果未能解决你的问题,请参考以下文章

从 C# 连接到 OpenOffice 数据库

如何将 OpenOffice.org 作为后台进程运行以将我的应用程序连接到使用 UNO Java API?

如何将 Openoffice calc excel 连接到 sql server 而不是 asp.net 中的 oledb excel 连接

致命错误:未捕获的 CurlException:7:无法连接到第 887 行 ....src/base_facebook.php 中抛出的主机

从后面的代码启动 OpenOffice 作为服务不起作用

使用 JPATH_BASE 和 JFactory::getDBO 连接到 joomla DB