【问题标题】:SQLite in-memory database backup in .NET.NET 中的 SQLite 内存数据库备份
【发布时间】:2011-06-20 21:07:10
【问题描述】:

如何备份 SQLite 内存数据库?我在我的 Windows 应用程序中创建数据库。我想在关闭应用程序时进行数据库备份。

【问题讨论】:

标签: c# .net sqlite system.data.sqlite


【解决方案1】:

你想要SQLite Online Backup API。

据我所知,System.Data.SQLite 还不支持它,所以您需要编写一些代码。 System.Data.SQLite 论坛包含一个示例:http://sqlite.phxsoftware.com/forums/t/2403.aspx。如前所述,当您修补 System.Data.SQLite 并直接调用 SQLite 时,您需要自担风险。

【讨论】:

    【解决方案2】:

    用“基于文件的数据库”替换“内存数据库”怎么样?

    如果您关闭应用程序,该文件将仍然存在。

    在程序启动时,您必须确保删除数据库文件。

    【讨论】:

    • 不...实际上我们只想在内存数据库中使用。这是我们的首要要求。
    【解决方案3】:

    你可以试试这个代码

    using (var location = new SQLiteConnection(@"Data Source=activeDb.db; Version=3;"))
    using (var destination = new SQLiteConnection(@"Data Source=backupDb.db; Version=3;"))
    {
         location.Open();
         destination.Open();
         location.BackupDatabase(destination, "main", "main", -1, null, 0);
    }
    

    【讨论】:

    • 您的答案断章取义,因为问题是关于内存而不是文件库数据库
    猜你喜欢
    • 2016-06-20
    • 2015-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-11
    • 1970-01-01
    相关资源
    最近更新 更多