Heim > Java > javaLernprogramm > Hauptteil

Wie kann der Fehler „Tabelle nicht gefunden' in H2-In-Memory-Datenbanken verhindert werden?

Mary-Kate Olsen
Freigeben: 2024-10-26 17:11:02
Original
950 Leute haben es durchsucht

How to Prevent

H2 In-Memory-Datenbank: Behebung des Fehlers „Tabelle nicht gefunden“ bei Verwendung von „jdbc:h2:mem:

In H2 ist die Die Fehlermeldung „Tabelle ‚TABLE_NAME‘ nicht gefunden“ beim Versuch, eine Verbindung zu einer In-Memory-Datenbank herzustellen, weist normalerweise auf ein Konfigurationsproblem hin. Die Datenbank verwirft die Tabelle, weil sie nach ihrer Erstellung geschlossen wird.

Um dieses Problem zu beheben, Sie müssen den folgenden Parameter zu Ihrer JDBC-Verbindungs-URL hinzufügen:

;DB_CLOSE_DELAY=-1
Nach dem Login kopieren

Ihre geänderte Verbindungs-URL würde beispielsweise so aussehen:

jdbc:h2:mem:test;DB_CLOSE_DELAY=-1
Nach dem Login kopieren

Erklärung:

Wenn Sie mit der Standardkonfiguration (z. B. jdbc:h2:mem:test) eine Verbindung zu einer In-Memory-Datenbank herstellen, geht der Datenbankinhalt verloren, wenn die letzte Verbindung geschlossen wird. Um dies zu verhindern, Sie müssen DB_CLOSE_DELAY=-1 festlegen, um sicherzustellen, dass die Datenbank geöffnet bleibt, solange die Java Virtual Machine (JVM) ausgeführt wird. Dadurch können Sie den Inhalt Ihrer In-Memory-Datenbank beibehalten, bis Sie sie explizit schließen oder beenden JVM.

Diese Konfigurationsänderung ist auf der Seite „H2-Funktionen“ im Abschnitt „In-Memory-Datenbanken“ dokumentiert:

Standardmäßig wird die Datenbank geschlossen, wenn die letzte Verbindung zu einer Datenbank geschlossen wird. Bei einer In-Memory-Datenbank bedeutet dies, dass der Inhalt verloren geht. Um die Datenbank geöffnet zu halten, fügen Sie ;DB_CLOSE_DELAY=-1 zur Datenbank-URL hinzu. Um den Inhalt einer In-Memory-Datenbank zu behalten, solange die virtuelle Maschine aktiv ist, verwenden Sie jdbc:h2:mem:test;DB_CLOSE_DELAY=-1.

Wenn Sie dieser Lösung folgen, können Sie erfolgreich eine Verbindung zu Ihrer herstellen Speichern Sie die In-Memory-Datenbank und arbeiten Sie mit Tabellen, ohne dass der Fehler „Tabelle nicht gefunden“ auftritt.

Das obige ist der detaillierte Inhalt vonWie kann der Fehler „Tabelle nicht gefunden' in H2-In-Memory-Datenbanken verhindert werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage