【问题标题】:FireDAC: Array DML ProgressFireDAC:阵列 DML 进展
【发布时间】:2013-05-07 14:21:47
【问题描述】:

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

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

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

PS:Delphi XE4 和 FireDAC v8

谢谢。

【问题讨论】:

    标签: delphi anydac firedac


    【解决方案1】:

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

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

    【讨论】:

    • 例如,我需要将所有数据分成 100 个,并为每个数据使用小的 DML 数组计数。
    • 作为其他选项 - 是的,您可以。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-10-21
    • 2015-10-09
    • 1970-01-01
    • 2011-10-08
    • 2019-06-28
    • 2014-06-13
    相关资源
    最近更新 更多