private byte[] inMemSqliteDbBackup() {
byte[] data = null;
try (DSLContext dsl = DSL.using("jdbc:sqlite::memory:") {
...
//insert some data
dsl.execute("backup to " + data); // backup to byte[], but unsupported , a file is needed
dsl.connection(connection -> {
// or, get underlying connection and open inputstream
// but there is no getInputStream in SqliteConnection
});
}
return data;
}
我们如何在内存中将 sqlite db 备份到 byte[] ?我经历了 SqliteConnection 并且它也没有给出 InputStream 。
一种选择是通过将 url 用作“ jdbc:sqlite:/some-location”而不在内存数据库中使用,然后我们可以使用FileUtils.readFileToByteArray(new File(some-location)),但不确定我们是否可以在内存中使用 sqlite db 并仍然使用 Jooq 的 DSLContext。
喵喵时光机
相关分类