相关疑难解决方法(0)

SQLite3 .backup 和 .dump 命令会锁定数据库吗?

我已经能够找到的唯一的文档.backup.dump是所示的.help

.backup ?DB? FILE      Backup DB (default "main") to FILE
.dump ?TABLE? ...      Dump the database in an SQL text format
                         If TABLE specified, only dump tables matching
                         LIKE pattern TABLE.
Run Code Online (Sandbox Code Playgroud)

最大的问题是:在复制/转储之前,这两个命令是否都锁定了数据库?备份是否一致?

这个答案有一些关于 的信息.backup,但是否有任何权威文档?(还有呢.dump?)我在 SQLite 的文档中唯一能找到的是“在线备份 API ”,但我对 API 不感兴趣,我只想备份数据库。

sqlite

10
推荐指数
2
解决办法
4385
查看次数

何时可以安全地复制当前打开的SQLite数据文件?

我有一个应用程序,它使用QSQLITE驱动程序和本地文件系统上的文件上的QSqlDatabse.我想写一个备份函数,它将保存数据库的快照.

简单地复制文件似乎是一种明显,简单的方法,但我不确定何时这样做是安全的.

应用程序在定义明确的点修改数据库.每次都会创建,使用并立即销毁新的QSqlQuery对象.显式锁定/刷新是一种可接受的解决方案,但Qt API似乎没有公开这一点.

我在Qt将数据库提交到磁盘时找不到任何文档.我想QSqlDatabase析构函数会这样做,但即便如此,我也不知道(在Windows或Linux上)复制文件是否保证会导致最近的更改被复制(而不是仅仅是那些更改)已在文件系统期刊中定稿).有人可以确认或否认吗?如果在执行复制之前关闭写文件句柄会有什么不同吗?

也许唯一安全的方法是进行在线复制,但我已经在使用Qt API而不知道这将如何互动.

任何意见,将不胜感激.

sqlite qt

3
推荐指数
1
解决办法
2654
查看次数

标签 统计

sqlite ×2

qt ×1