如何在存在打开连接的情况下恢复 SQLite 数据库?

发布于 2024-11-04 01:18:34 字数 324 浏览 5 评论 0原文

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

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

始终保持开放连接是否是一个好主意是一个完全不同的问题。但事实就是如此,因为我不要求更改应用程序的该部分。

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

我很感激任何形式的帮助...

I am writing a plugin for a C# application which uses SQLite database. The initial database is stored in database.db.default. At any point during runtime the user should be able to reset the database to the default content.

Since the application has always an open connection to the database I can not just copy database.db.default to database.db.

Whether or not it is a good idea to always hold an open connection is a total different question. But that is just how it is since it is not my call to change that part of the application.

Is there any way I am able to restore database.db.default into database.db using C# and .NET 3.0?

I appreciate any kind of help ...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

浅忆流年 2024-11-11 01:18:34

如果您无法通过文件复制来恢复数据库,则可以采用困难的方式进行恢复。附加备份数据库,删除主数据库中的所有数据,然后插入备份数据库中的数据。

If you can't do a file copy to restore the database then do the restore the hard way. Attach the backup database, delete all the data in the main database, then insert the data from the backup database.

雪化雨蝶 2024-11-11 01:18:34

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

I'm probably missing something here, but can't you just close your connection and reopen it after the copy?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文