当我关闭 h2 连接(发布数据库)并尝试连接到另一个 h2 数据库(调试数据库)时遇到问题。
要连接的片段:
this.connection = new JdbcConnectionSource(connectionString);
用于断开连接的代码片段:
this.connection.close();
连接字符串:
jdbc:h2:file:/data/data/my.app/databases/myapp
jdbc:h2:file:/data/data/my.app/testdatabases/myapp
然后不再使用“新”连接,而是使用旧连接。 我对数据库使用不同的目录。在这两种情况下,当我尝试在数据库 1 和数据库 2 之间切换时,.lock 和 .trace 文件不会在其目录中删除。
我想排除我这边的实施失败。 我在 android 4.2.2 上使用 h2(当前版本)和 ormlite。
然后不再使用“新”连接,而是使用旧连接。
如果您要创建新的
ConnectionSource
,那么您将需要重新创建所有 DAO 类并从 DaoManager
中清除 DAO 缓存。每个 DAO 类都有其使用的旧连接源的副本。
ConnectionSource connectionSource = new JdbcConnectionSource(connectionString);
DaoManager.clearCache();
Dao<Foo,Integer> fooDao = DaoManager.createDao(connectionSource, Foo.class);
...