web-dev-qa-db-ja.com

複数のユーザーがH2データベースに同時に接続できるようにするにはどうすればよいですか?

データベース管理にH2を使用していますが、これは私がやりたいことです。

複数のユーザーが同時にデータベースにアクセスできるようにしたいと思います。 「MULTI_THREADED = TRUE」、「LOCK_FILE = NO」、「AUTO_SERVER = TRUE」について少し読みました。 「LOCK_FILE = NO」はデータベースを破壊する可能性があるため、危険な場合があることも読みました。私は間違いなくこれを望んでいないので、それが悪い方法だと思います。また、レコードが読み取られているか、書き込まれているかに関係なく、レコードにアクセスした直後に接続を閉じようとしました。これまでのところ、何も機能しないようです。アプリケーションの別のインスタンス(別のコンピューターなど)でデータベースが接続されている場合、アプリケーションでデータベースの読み取りまたは書き込みができません。 1台のコンピューターでアプリケーションを完全に閉じると、データベースレコードにアクセスできます。

データベースの安全性を損なうことなく、複数のユーザーがH2データベースに同時に接続できるようにするにはどうすればよいですか?

19
Ryan

組み込みモードでH2を使用しているようです。これは、一度に1つのデータベース接続のみを許可します。詳細は、ドキュメントの 接続モード を参照してください。

複数のアプリケーションインスタンスからの接続を含む複数の接続のサポートが必要な場合は、代わりにH2を サーバーモード で起動し、このモードに適切な 接続URL を使用する必要があります。

19
Lolo

AUTO_SERVER = TRUEは、複数接続モードを許可します。

2
Jackkobec