H2 インメモリ データベース: 「jdbc:h2:mem:
」使用時の「テーブルが見つかりません」エラーの解決 H2 では、インメモリ データベースに接続しようとしたときのエラー メッセージ「テーブル 'TABLE_NAME' が見つかりません」は、通常、テーブルが作成後に閉じられているため、データベースがテーブルを破棄していることを示します。
この問題を解決するには、次のようにします。 JDBC 接続 URL に次のパラメータを追加する必要があります:
;DB_CLOSE_DELAY=-1
たとえば、変更された接続 URL は次のようになります:
jdbc:h2:mem:test;DB_CLOSE_DELAY=-1
説明:
デフォルト設定 (jdbc:h2:mem:test など) を使用して H2 のインメモリ データベースに接続すると、最後の接続が閉じられるとデータベースの内容が失われます。これを防ぐには、次のようにします。 DB_CLOSE_DELAY=-1 を設定する必要があります。これにより、Java 仮想マシン (JVM) が実行されている間はデータベースが開いたままになります。これにより、明示的にデータベースを閉じるか終了するまで、インメモリ データベースの内容を維持できます。 JVM.
この構成変更は、H2 機能ページの「インメモリ データベース」セクションに文書化されています。
デフォルトでは、データベースへの最後の接続を閉じるとデータベースが閉じられます。インメモリ データベースの場合、これはコンテンツが失われることを意味します。データベースを開いたままにするには、;DB_CLOSE_DELAY=-1 をデータベース URL に追加します。仮想マシンが稼働している限りインメモリ データベースの内容を保持するには、jdbc:h2:mem:test;DB_CLOSE_DELAY=-1 を使用します。
この解決策に従うと、仮想マシンに正常に接続できます。インメモリデータベースを使用すると、「テーブルが見つかりません」エラーが発生することなくテーブルを操作できます。
以上がH2 インメモリ データベースでの「テーブルが見つかりません」エラーを防ぐ方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。