我正在尝试从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搜索,但无法解决我的问题。我被困住了,如果有人可以指导我如何解决这个问题会很棒吗?
答案 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以运行一些测试。我有点复制并粘贴了这个属性而没有看,然后你就知道了 - 墨菲定律...
我希望它有所帮助。