我正在使用FireDAC的Array DML功能向我的远程MS SQL数据库中插入大量数据。
它工作正常,但需要时间来完成执行方法。当执行方法运行时,我想知道FireDAC的内部进度,以便我可以向用户显示它是耐心的。
如何获取执行方法的实际状态?
PS:Delphi XE4和FireDAC v8
感谢。
答案 0 :(得分:2)
这对DBMS API来说是个问题 - 是否提供了进度反馈。 Array DML的本质是将完整的数组项集作为单个数据包发送到DBMS。并且在执行结束时DBMS提供反馈 - 再次针对整个数组项集。这减少了往返次数。两者之间的反馈将提高往返次数。
AFAIK,API都没有提供进度反馈。因此,FireDAC也不提供它。如果您需要进度反馈,请不要使用Array DML并使用逐个ExecSQL方法。