2

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

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

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

PS:德尔福 XE4 和 FireDAC v8

谢谢。

4

1 回答 1

2

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

AFAIK,没有一个 API 提供进度反馈。因此,FireDAC 也不提供它。如果您需要进度反馈,请不要使用 Array DML 并使用一对一的 ExecSQL 方法。

于 2013-05-13T14:21:13.187 回答