Rumah >Java >javaTutorial >Bagaimana untuk Mencegah Ralat \'Table Not Found\' dalam Pangkalan Data Dalam Memori H2?
Pangkalan Data Dalam Memori H2: Menyelesaikan Ralat "Jadual Tidak Ditemui" Apabila Menggunakan "jdbc:h2:mem:
Dalam H2, mesej ralat "Jadual 'TABLE_NAME' tidak ditemui" apabila cuba menyambung ke pangkalan data dalam memori biasanya menunjukkan isu konfigurasi Pangkalan data membuang jadual kerana ia ditutup selepas penciptaannya.
Untuk menyelesaikan isu ini, anda perlu menambah parameter berikut pada URL sambungan JDBC anda:
;DB_CLOSE_DELAY=-1
Sebagai contoh, URL sambungan anda yang diubah suai akan kelihatan seperti ini:
jdbc:h2:mem:test;DB_CLOSE_DELAY=-1
Penjelasan:
Apabila anda menyambung ke pangkalan data dalam memori dalam H2 menggunakan konfigurasi lalai (cth., jdbc:h2:mem:test), kandungan pangkalan data hilang apabila sambungan terakhir ditutup Untuk mengelakkan ini, anda perlu menetapkan DB_CLOSE_DELAY=-1, yang memastikan bahawa pangkalan data kekal terbuka selagi Mesin Maya Java (JVM) sedang berjalan Ini membolehkan anda mengekalkan kandungan pangkalan data dalam memori anda sehingga anda menutupnya secara eksplisit atau menamatkannya JVM.
Perubahan konfigurasi ini didokumenkan dalam halaman Ciri H2 di bawah bahagian "Pangkalan Data Dalam Memori":
Secara lalai, menutup sambungan terakhir ke pangkalan data akan menutup pangkalan data. Untuk pangkalan data dalam memori, ini bermakna kandungannya hilang. Untuk memastikan pangkalan data tetap terbuka, tambahkan ;DB_CLOSE_DELAY=-1 pada URL pangkalan data. Untuk mengekalkan kandungan pangkalan data dalam memori selagi mesin maya masih hidup, gunakan jdbc:h2:mem:test;DB_CLOSE_DELAY=-1.
Dengan mengikuti penyelesaian ini, anda boleh berjaya menyambung ke anda pangkalan data dalam memori dan bekerja dengan jadual tanpa menghadapi ralat "Jadual Tidak Ditemui".
Atas ialah kandungan terperinci Bagaimana untuk Mencegah Ralat \'Table Not Found\' dalam Pangkalan Data Dalam Memori H2?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!