我正在通过Java使用SQLite,我有一个用例,它是从一个连接写入数据,然后从另一个连接读回数据。我有两个单独的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