2012-03-20 4 views
0

stanloneモードでhsqldbのjdbc接続を正常に作成しました。新しいデータベースが作成された場所が見つかりました。runserverで新しく作成されたデータベースのパスを使用して、いくつかのテーブルを作成しました。しかし、私はjdbc接続を使用してそれらのテーブルを取得しようとすると、私はそれらのテーブルを得ることができませんでした。 接続URLは次のクエリを使用してテーブルを取得するための: "jdbc:hsqldb:file:databasename; ifexist = true"、 "SA"、 "" スタンドロンモードでhsqldb runserverを使用して作成したすべてのテーブルを取得する方法

"select table_name from information_schema.system_tables where table_type = 'table'";

私はhsqldb 2.2.7を使用しています。

+0

コードスニペットは、お客様の質問を理解するのに役立ちます。 「...私はテーブルを手に入れることができませんでした」とはどういう意味ですか?レコードがない、スローされた例外、その他 –

答えて

1

サーバーとインプロセスで同時にデータベースにアクセスしようとしているようです。これは不可能です。アクセスの種類ごとに、データベースに接続する前にデータベースをシャットダウンする必要があります。したがって、テーブルを作成したらサーバーをシャットダウンし、インプロセスのデータベースに接続します。

サーバーのみでデータベースにアクセスし、このような問題を回避する方が簡単です。また、正常にシャットダウンされていないデータベースに影響するバグを避けるため、バージョン2.2.8にアップグレードしてください。

+0

私はプロセス内モードを使用していますので、サーバをオープンしていません。テーブルを作成するためにrunMamager.batを使用してから、shutdownコマンドを実行してください.JDBC接続を使用してJavaプログラムからテーブルを取得しようとしました。 rummanagerはスタンドアロンモードで一時的にテーブルを作成しましたので、作成したすべてのテーブルをシャットダウンしてから実行しました。 – Anu

+0

私は、指示に従ってサーバーモード接続を試しました。http://stackoverflow.com/questions/7053721/concept-of-in-memory-database-and-how-to-see-if-my-data-is-being-人口密度が高く、現在は正常に動作しています – Anu

関連する問題