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

Har*_*chi 4 java jdbc hsqldb openoffice-base

我编写了以下代码以连接到OpenOffice db。

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();
Run Code Online (Sandbox Code Playgroud)

该数据库包含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)
Run Code Online (Sandbox Code Playgroud)

我该如何解决。谁能告诉我如何使用hsqldb驱动程序连接到open office db?

小智 5

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

1.将odb文件重命名为yourdatabasename.zip

2.提取

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

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

5.now您的连接应如下所示:“ jdbc:hsqldb:file:Addresstoyourdatabase / database / yourdatabasename”

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