delphi - 在单独的线程中备份内存中 SQLite DB 的正确方法
问题描述
我使用来自 docwiki 的示例
FDConnection1.DriverName := 'SQLite';
FDConnection1.Open;
FDSQLiteBackup1.Database := '\\srv\db\data.sdb';
FDSQLiteBackup1.DestDatabaseObj := FDConnection1.CliObj;
FDSQLiteBackup1.DestMode := smCreate;
FDSQLiteBackup1.Backup;
数据库 FDConnection1 在主线程中工作。我想将它保存回单独线程中的文件存储,因为此操作需要很多时间
procedure TDBSaver.Execute; // separate thread
begin
IntBackup.DriverLink := Link;
IntBackup.WaitForLocks := true;
IntBackup.DestDatabase:= '\\srv\db\data.sdb';
IntBackup.DatabaseObj := FDConnection1.CliObj;
IntBackup.Backup;
end;
这种方法是线程安全的吗?
解决方案
推荐阅读
- sql - 如何编写 SQL 查询以删除路径的第一个元素(第一个字符)
- python - 在 Python 中的 DataFrame 中处理
- javascript - 为什么这个特定的 zIndex 不起作用?
- algorithm - 生成区间关系组合的算法
- swift - “键'root'的值是意外的类'NSArray'”在UserDefault,Swift中检索对象数组时出错
- java - 我的 JButton 对 ActionListener 和 actionPerformed 没有反应
- r - 网格单元内的采样点数
- android - 在 Flutter 中保留方向更改时的 TextField 值
- django - 如何根据数据库时钟获取范围为“在过去五分钟内创建”的 QuerySet
- regex - 如何在perl中用空格替换一些模式?