我正在使用FireDAC的数组DML功能将大量数据插入到我的远程MS SQL数据库中。
它工作得很好,但完成execute方法需要时间。当execute方法运行时,我想知道FireDAC的内部进度,这样我就可以把它展示给用户,让他们耐心等待。
如何获取execute方法的实际状态?
PS: Delphi XE4和FireDAC v8
谢谢。
发布于 2013-05-13 22:21:13
这对DBMS API来说是一个相当大的问题-它是否提供了进度反馈。Array DML的本质是将整个数组项目集作为单个数据包发送到DBMS。在执行结束时,DBMS提供反馈-同样是针对整个数组项目集。这减少了往返的次数。中间的反馈将增加往返次数。
AFAIK,没有一个API提供进度反馈。因此,FireDAC也没有提供它。如果您需要进度反馈,请不要使用Array DML,而是使用逐个ExecSQL方法。
https://stackoverflow.com/questions/16523941
复制相似问题