2011-04-28 41 views
3

我正在为使用SQLite数据库的C#应用​​程序编写插件。初始数据库存储在database.db.default中。在运行期间的任何时候,用户都应该能够将数据库重置为默认内容。如何在打开的连接存在时恢复SQLite数据库?

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

永远保持开放连接是否是一个好主意是一个完全不同的问题。但那只是它的原因,因为改变应用程序的这一部分并不是我的要求。

有没有什么办法可以使用C#和.NET 3.0将database.db.default恢复到database.db?

我明白任何形式的帮助......

回答

1

如果您无法执行文件复制来恢复数据库,那么请执行还原操作。附加备份数据库,删除主数据库中的所有数据,然后从备份数据库插入数据。

+0

我希望有某种备份/还原功能,我无法找到。但如果情况并非如此,那么删除所有数据并“复制”内容是我认为唯一可行的解​​决方案。 – 2011-04-28 14:39:38

0

我可能失去了一些东西在这里,但你就不能闭上你的连接,并重新打开它的复印后?

+0

由于连接不是我的插件的一部分,我无法控制应用程序的其他部分,所以我不能关闭连接来复制文件。 – 2011-04-28 12:57:59