Я использую SQLite через Java, где у меня есть сценарий записи данных из одного соединения и последующего чтения из другого соединения. У меня есть два отдельных экземпляра org.springframework.jdbc.core.JdbcTemplate
один для записи данных, а другой для их чтения.
Запись данных работает отлично, но когда я пытаюсь прочитать их с помощью другого объекта JdbcTemplate, происходит сбой со следующей ошибкой:
java.lang.RuntimeException: Error while creating sql session factory connection
...
Caused by: org.sqlite.SQLiteException: [SQLITE_ERROR] SQL error or missing database (no such table: TEMP_TABLE_NAME) at
org.sqlite.core.DB.newSQLException(DB.java:941) at
org.sqlite.core.DB.newSQLException(DB.java:953) at
org.sqlite.core.DB.throwex(DB.java:918) at
org.sqlite.core.NativeDB.prepare_utf8(Native Method) at
org.sqlite.core.NativeDB.prepare(NativeDB.java:134) at
org.sqlite.core.DB.prepare(DB.java:257) at
org.sqlite.jdbc3.JDBC3Statement.executeQuery(JDBC3Statement.java:73)
Я даже попытался установить PRAGMA journal_mode=WAL;
, и он все еще не удался с тем же исключением. Кроме того, программа работает очень хорошо, если я использую тот же JdbcTemplate для записи и чтения данных.
Можно ли писать в SQLite через один объект подключения и читать из другого?
FWIW, я использую org.xerial: sqlite-jdbc: 3.25.2