質問

I'm inserting huge amount of data to my remote MS SQL database using FireDAC's Array DML feature.

It works fine but takes time to complete execute method. While execute method running, I want to know the internal progress of FireDAC so that I can show it to the user to be patient.

How can I get the actual status of execute method?

PS: Delphi XE4 and FireDAC v8

Thanks.

役に立ちましたか?

解決

This is rather question to DBMS API - does it provide a progress feedback or not. The nature of Array DML is that the full set of array items is sent to DBMS as a single packet. And at end of execution DBMS provides the feedback - again for the full set of array items. This reduces the number of roundtrips. A feedback in between will raise the number of roundtrips.

AFAIK, none of the API's is providing a progress feedback. So, FireDAC does not provide it too. If you need a progress feedback, then do not use Array DML and use one-by-one ExecSQL approach.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top