문제

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