2012-02-13 12 views
4

OpenOffice dbに接続する次のコードを記述しました。jdbcプログラムを使用してOffice odbファイルを開くに接続

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ドライバを使用してオープンなオフィスデータベースに接続する方法を教えてもらえますか?

+0

あなたは、テーブル名があると確認することができます" –

+0

?はい、そこにテーブルが作成され、そこにいくつかのデータがあります –

+0

さらに、2つまたは3つのファイルが、Test.odb、Test.odb.properties、 –

答えて

0

ローカルにアクセスしていたderbyデータベースで同様の問題が発生しました。私の場合、それは私のSQLステートメントから失われたスキーマでした。だから、私は次のようなものが必要でした:

select * from Emp.APP 

あなたが見ているエラーを生成しないように選択ステートメントを得るには。

私はこのウェブサイトhttp://hsqldb.org/doc/1.8/guide/ch09.html#select-sectionを見て、それはたとえば、SELECT文の一部として

table.* 

を持っていることに気づきました。だから私は、データベース名やスキーマを*あなたの問題を解決するかもしれない(または単にそれを試してください*)を置き換えると推測しています。

4

最後に解決策が見つかりました。残念ながら、あなたはdbをodbからhsqlに変更する必要があります。あなたがあなたの下でデータベースフォルダをデータベースディレクトリ内のバックアップ、データ、スクリプト、プロパティファイルを見つけることができ、それ

3.now 2.extract

をyourdatabasename.zipする

1.renameあなたのODBファイル。 「JDBC:HSQLDB:ファイル:Addresstoyourdatabase /データベース

4.rename yourdatabasename.dataにこれらのファイル、yourdatabasename.script、yourdatabasename.backupは、あなたの接続は、このようにする必要があり

5.nowをyourdatabasename.properties/yourdatabasenameは次のように自分のテーブル名を中心に "

6.do置くことを忘れないで ": のEmp \" "\ SELECT * FROM" Empの "データベース内の"

関連する問題