Es ist eine brandneue stabile Version von h2, die ich gerade heruntergeladen habe. Funktioniert bis jetzt seit einer Woche super. Mein Fehler ist
Exception in thread "main" org.h2.jdbc.JdbcSQLException: Feature not supported: "autoServerMode && (readOnly || fileLockMethod == NO || fileLockMethod == SERIALIZED || fileLockMethod == FS || inMemory)" [50100-196]
Ich verwende jetzt seit einer Woche den automatischen gemischten Modus, bei dem mein Backend-Java-Programm zuerst die vorab erstellte h2-Datenbank als „jdbc:h2:./PATH/db;IFEXISTS“ öffnet =TRUE;DB_CLOSE_ON_EXIT=FALSE;AUTO_SERVER=TRUE";
Das Backend läuft ständig und verarbeitet Daten in der Datenbank. Daher wird die Datenbank niemals geschlossen. Ich habe dann einige Frontend-Java-Servlets, die, wenn Webbenutzer sie ausführen, die Datenbank mit derselben URL öffnen, die Informationen abrufen und HTML präsentieren. Es hat alles funktioniert, und jetzt schlägt die Sicherung beim Öffnen der Datenbank fehl, mit der gleichen Fehlermeldung, die ich bekomme, wenn ich versuche, das Shell-Tool zu verwenden, wenn ich die gleiche URL versuche:
Exception in thread "main" org.h2.jdbc.JdbcSQLException: Feature not supported: "autoServerMode && (readOnly || fileLockMethod == NO || fileLockMethod == SERIALIZED || fileLockMethod == FS || inMemory)" [50100-196]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)
at org.h2.message.DbException.get(DbException.java:179)
at org.h2.message.DbException.get(DbException.java:155)
at org.h2.message.DbException.getUnsupportedException(DbException.java:216)
at org.h2.engine.Database.open(Database.java:644)
at org.h2.engine.Database.openDatabase(Database.java:276)
at org.h2.engine.Database.(Database.java:270)
at org.h2.engine.Engine.openSession(Engine.java:64)
at org.h2.engine.Engine.openSession(Engine.java:176)
at org.h2.engine.Engine.createSessionAndValidate(Engine.java:154)
at org.h2.engine.Engine.createSession(Engine.java:137)
at org.h2.engine.Engine.createSession(Engine.java:27)
at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:354)
at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:116)
at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:100)
at org.h2.Driver.connect(Driver.java:69)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at org.h2.tools.Shell.runTool(Shell.java:148)
at org.h2.tools.Shell.main(Shell.java:81)
Ich habe Tomcat angehalten, es erneut versucht und das Gleiche erhalten. Ich habe ps überprüft und es werden keine anderen Java-Prozesse ausgeführt. Der Netstat-Befehl zeigt nur Port 22 LISTENING an. Ich kann das Shell-Tool unter dieser DB-URL öffnen, wenn ich AUTO_SERVER=TRUE abhebe. aber ich weiß nicht warum. Ich bin sogar hineingegangen und habe eine Sperrdatei gesehen. Ich habe es umbenannt und versucht, die Datenbank erneut im AUTO_MODE zu öffnen, derselbe Fehler. Ich bin mir nicht sicher, was hier schief gelaufen ist oder was ich als Nächstes versuchen soll.
H2 funktioniert nicht mehr im AUTO_SERVER-Modus. Ausnahme im Thread „main“ org.h2.jdbc.JdbcSQLException: Funktion nicht ⇐ Java
-
- Similar Topics
- Replies
- Views
- Last post