5

ファイルベースのストレージであっても、インプロセス HSQLDB データベースが他のユーザーによって開かれることは想定されていません。

ドキュメントはこれが可能であることを示唆しています: Server ModesAdvanced Topicsですが、この動作をアクティブにする方法の URL はまだ見つかりません。

方法を共有できるように、誰かがこれを行いましたか?

4

2 に答える 2

5

以下は私のために働きます:

  1. HSQLDBソースコードのorg.hsqldb.test.TestBaseコードに示されているコードからサーバーを起動します。何かのようなもの:

    Server server = new Server();
    server.setDatabaseName(0, "test");
    server.setDatabasePath(0, "file:/path/to/db");
    server.start();
    
  2. 同じJVMで、通常の(サーバー以外の)プログラムの場合と同じように、同じデータベースへの接続を開きます。

    conn = DriverManager.getConnection("jdbc:hsqldb:file:/path/to/db");
    

次に、connを使用して、必要なSQLを実行します。

私自身の実験では、これは機能しているように見え、インメモリおよびファイルデータベースで機能します。

もちろん、他のJVMはTCPを使用してサーバーに接続する必要があります。別のJVMでデータベースファイルを直接開こうとすると、データベースがロックされているという通常のエラーが発生します。

于 2010-07-12T17:36:47.160 に答える
0

アプリケーションの外部でサーバーモードで HQLDB を起動し、いくつかのアプリケーションからデータベースに接続した経験があります。

ドキュメントで説明されているように、プロセスは簡単です。

于 2009-06-11T09:11:20.467 に答える