我使用了这个链接上的代码,但是出现了错误信息:
System.Data.Sqlite.SqliteConnection中不存在BackupDatabase()函数
是否有任何Sqlite查询来备份或导出Sqlite数据库。然后再次恢复它。
我想要在一个系统上导出数据库,然后在另一个安装了相同Windows应用程序的系统上导入它。我希望在按钮点击时实现这些活动。
我使用了这个链接上的代码,但是出现了错误信息:
System.Data.Sqlite.SqliteConnection中不存在BackupDatabase()函数
是否有任何Sqlite查询来备份或导出Sqlite数据库。然后再次恢复它。
我想要在一个系统上导出数据库,然后在另一个安装了相同Windows应用程序的系统上导入它。我希望在按钮点击时实现这些活动。
public void backup(string strDestination)
{
using (var location = new SQLiteConnection(@"Data Source=C:\activeDb.db; Version=3;"))
using (var destination = new SQLiteConnection(string.Format(@"Data Source={0}:\backupDb.db; Version=3;", strDestination)))
{
location.Open();
destination.Open();
location.BackupDatabase(destination, "main", "main", -1, null, 0);
}
}
public void backup(string strDestination)
{
using (var location = new SQLiteConnection(@"Data Source=C:\activeDb.db; Version=3;"))
{
SQLiteCommand sqlCmd = location.CreateCommand();
sqlCmd.CommandText = $"VACUUM INTO '{strDestination}'";
sqlCmd.ExecuteNonQuery();
}
}
using (var destination = new System.Data.SQLite.SQLiteConnection(string.Format("Data Source={0}\\DriversTrucksBackup.db; Version=3;", this.txtLocation.Text)))
{
da.cn.Open();
destination.Open();
da.cn.BackupDatabase(destination, "main", "main", -1, null, 0);
da.cn.Close();
}
System.Data.SQLite 1.0.74.0已经相当过时。 为了备份API支持,至少需要版本1.0.80.0,但是您也可以直接升级到当前版本。