Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 当存在打开的连接时,如何恢复SQLite数据库?_C#_Sqlite_C# 3.0_Database Restore - Fatal编程技术网

C# 当存在打开的连接时,如何恢复SQLite数据库?

C# 当存在打开的连接时,如何恢复SQLite数据库?,c#,sqlite,c#-3.0,database-restore,C#,Sqlite,C# 3.0,Database Restore,我正在为一个使用SQLite数据库的C#应用程序编写一个插件。初始数据库存储在database.db.default中。在运行时的任何时候,用户都应该能够将数据库重置为默认内容 由于应用程序始终与数据库保持开放连接,因此我不能将database.db.default复制到database.db 始终保持开放的联系是否是一个好主意是一个完全不同的问题。但事实就是这样,因为我不需要更改应用程序的这一部分 是否有任何方法可以使用C#和.NET 3.0将database.db.default恢复到dat

我正在为一个使用SQLite数据库的C#应用程序编写一个插件。初始数据库存储在database.db.default中。在运行时的任何时候,用户都应该能够将数据库重置为默认内容

由于应用程序始终与数据库保持开放连接,因此我不能将database.db.default复制到database.db

始终保持开放的联系是否是一个好主意是一个完全不同的问题。但事实就是这样,因为我不需要更改应用程序的这一部分

是否有任何方法可以使用C#和.NET 3.0将database.db.default恢复到database.db中


非常感谢您的帮助……

我可能在这里遗漏了一些东西,但您不能关闭连接并在复制后重新打开它吗?

如果您无法通过文件复制来恢复数据库,请用硬方法进行恢复。连接备份数据库,删除主数据库中的所有数据,然后插入备份数据库中的数据。

因为连接不是我插件的一部分,我无法控制应用程序的其余部分,所以我不能关闭连接来复制文件。我希望有某种备份/还原功能我找不到。但如果不是这样的话,我认为删除所有数据并“复制”内容是唯一可能的解决方案。