java - 使用 jdbc 程序连接到 Open Office odb 文件

标签 java jdbc hsqldb openoffice-base

我编写了以下代码来连接到 OpenOffice 数据库。

String db = "C:\\Documents and Settings\\hkonakanchi\\Desktop\\Test.odb";
Class.forName("org.hsqldb.jdbcDriver");
Connection con =  DriverManager.getConnection("jdbc:hsqldb:file:" + db,"sa","");
Statement statement = con.createStatement();
ResultSet rs = statement.executeQuery("SELECT * FROM Emp");
while (rs.next()) {
System.out.print("ID: " + rs.getString("ID"));
System.out.print(" first name: " + rs.getString("firstname"));
System.out.println(" last name: " + rs.getString("lastname"));
}
con.close();

数据库包含emp表并保存了一些数据。

但是我收到如下错误信息。

Exception in thread "main" java.sql.SQLException: 
Table not found in statement [SELECT * FROM Emp]
        at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
        at org.hsqldb.jdbc.jdbcStatement.fetchResult(Unknown Source)
        at org.hsqldb.jdbc.jdbcStatement.executeQuery(Unknown Source)
        at Test.main(Test.java:16)

我该如何解决这个问题。谁能告诉我如何使用 hsqldb 驱动程序连接到 open office 数据库?

最佳答案

我终于找到了解决办法。但不幸的是,您必须将数据库从 odb 更改为 hsql。

1.将您的odb文件重命名为您的数据库名称.zip

2.解压

3.现在您可以在数据库文件夹下的数据库目录中找到备份、数据、脚本、属性文件。

4.将这些文件重命名为yourdatabasename.data,yourdatabasename.backup,yourdatabasename.script,yourdatabasename.properties

5.现在你的连接应该是这样的: "jdbc:hsqldb:file:Addresstoyourdatabase/database/yourdatabasename"

6.不要忘记在您的表名周围加上 ",例如: “SELECT * FROM\”Emp\“”

关于java - 使用 jdbc 程序连接到 Open Office odb 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9255829/

相关文章:

java - 尝试划分颜色来绘制彩虹 donut

mysql - 什么是平面物体?

java - 没有连接到java中的mysql

java - HSQLDB 带有 mssql 关键字表名

java - 在 Hsqldb/H2 中进行单元测试的 SequenceGenerator 问题

java - ArrayList get() 方法查找类变量?

java - 使用谷歌脚本服务翻译文本返回编码文本

javascript - 从 Nashorn 到 Graaljs

具有指定证书的 Java MySQL SSL 连接

java - 使用 Spring 中的 HSQLDB 时的 Blob 大小限制