delphi - FireDAC:阵列 DML 进展

标签 delphi anydac firedac

我正在使用 FireDAC 的数组 DML 功能将大量数据插入到远程 MS SQL 数据库。

它工作正常,但需要时间才能完成执行方法。当execute方法运行时,我想知道FireDAC的内部进度,以便我可以将其显示给用户耐心等待。

如何获取执行方法的实际状态?

PS:Delphi XE4 和 FireDAC v8

谢谢。

最佳答案

这对 DBMS API 来说是一个问题 - 它是否提供进度反馈。数组 DML 的本质是将完整的数组项集作为单个数据包发送到 DBMS。在执行结束时,DBMS 会提供反馈 - 再次针对完整的数组项集。这减少了往返次数。中间的反馈会增加往返次数。

据我所知,没有一个 API 提供进度反馈。所以,FireDAC也不提供它。如果您需要进度反馈,那么不要使用数组 DML,而使用一对一的 ExecSQL 方法。

关于delphi - FireDAC:阵列 DML 进展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16523941/

相关文章:

Delphi 2010 RTTI 和接口(interface)字段

delphi - 如何正确实现在 Canvas 上绘制的线程?

delphi - 单击此项目时更改列表框项目的颜色

delphi 窗体读取错误

delphi - 如何在 Firebase 上存储数据 - Delphi XE 10

delphi - 使用多线程时如何使用Delphi设计时FireDac TFDQuery?

delphi - Delphi FireDac 中的 FDQuery、FDMemtable 和 ClientDataset 之间应该使用什么?

database - 如何在 Delphi DBLookupComboBox 中选择正确的项目

delphi - 按下 dbnavigator 删除按钮后,如何根据决策中止删除记录?

delphi - 为参数化查询的参数赋值时出现赋值错误