Исключение SQLite: «нет такой таблицы» при чтении из другого объекта подключения - PullRequest
0 голосов
/ 16 ноября 2018

Я использую 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

...