当我关闭h2连接(发布数据库)并尝试连接到另一个h2数据库(调试数据库)时,我遇到了问题。
要连接的Snipplet:
this.connection = new JdbcConnectionSource(connectionString);
Snipplet断开连接:
this.connection.close();
的ConnectionString:
jdbc:h2:file:/data/data/my.app/databases/myapp
jdbc:h2:file:/data/data/my.app/testdatabases/myapp
然后使用旧的连接而不是使用“新”连接。 我正在为数据库使用不同的目录。在这两种情况下,当我尝试在database1和database2之间切换时,.lock和.trace文件不会在其目录中删除。
我希望在我身边排除错位。 我在android 4.2.2上使用带有ormlite的h2(当前版本)。
答案 0 :(得分:0)
然后使用旧的连接而不是使用“新”连接。
如果您要创建新的ConnectionSource
,则需要重新创建所有DAO类并从DaoManager
中清除DAO缓存。每个DAO类都有它使用的旧连接源的副本。
ConnectionSource connectionSource = new JdbcConnectionSource(connectionString);
DaoManager.clearCache();
Dao<Foo,Integer> fooDao = DaoManager.createDao(connectionSource, Foo.class);
...