Sqlite将数据库保存/加载到文件流中

Sqlite save/load database into file stream

本文关键字:文件 加载 数据库 保存 Sqlite      更新时间:2023-10-16

我有一个sqlite数据库,它在:memory中打开,需要在中途流式传输/序列化到另一个文件中。

例如:

// Some data
// more data
// SQLITE
// more data
// more data

最好的方法是什么?一种选择是使用sqlite_backup代码写入一个临时文件,然后读回该文件并流式输出,然后删除该临时文件。这将相对容易实现,但并不完全有效。

另一种选择是手动逐表写出数据,但这很痛苦。

有没有其他方法可以直接从内存流式传输数据库?我的文件流使用boost::iostreams::filtering_ostream作为基础。

谢谢!

此外,如果有人对处理可能更改/添加列名等不同版本有任何建议,那就太好了!

是的,我只是要手动序列化所有内容,并在加载时重新生成INSERT/CREATE语句。希望有更好的方法。。。