Heim >Java >javaLernprogramm >Warum zeigt meine H2-In-Memory-Datenbank nach dem Erstellen einer Tabelle den Fehler „Tabelle nicht gefunden' an?

Warum zeigt meine H2-In-Memory-Datenbank nach dem Erstellen einer Tabelle den Fehler „Tabelle nicht gefunden' an?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-29 17:38:02792Durchsuche

Why does my H2 in-memory database show a

Tabelle nicht in In-Memory-H2-Datenbank gefunden

Beim Herstellen einer Verbindung zu einer H2-Datenbank im Speicher mit „jdbc:h2: mem:test“-URL verwenden, kann es vorkommen, dass Benutzer auf den Fehler „Tabelle nicht gefunden“ stoßen, obwohl sie die Tabelle zuvor erstellt haben. Diese Anomalie entsteht durch das Standardverhalten von H2, die Verbindung nach DDL-Vorgängen zu schließen, was dazu führt, dass auf die Tabelle nicht mehr zugegriffen werden kann.

Lösung:

Um dieses Problem zu beheben , ändern Sie die Verbindungs-URL, indem Sie „;DB_CLOSE_DELAY=-1“ anhängen, um die Datenbank dauerhaft geöffnet zu halten und zu verhindern, dass die Tabelle verworfen wird. Die geänderte URL sollte etwa so aussehen:

jdbc:h2:mem:test;DB_CLOSE_DELAY=-1

Durch die Einbindung dieser Änderung behält H2 den Datenbankinhalt bei, bis die virtuelle Maschine beendet wird, und stellt so sicher, dass alle erstellten Tabellen intakt bleiben.

Das obige ist der detaillierte Inhalt vonWarum zeigt meine H2-In-Memory-Datenbank nach dem Erstellen einer Tabelle den Fehler „Tabelle nicht gefunden' an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn