i'm using TMS Echo and run recently in some accessviolation Error on replication on my clients.
When i restart the replication, after a few attempts the error vanishes.
In the Echo_Load_Error Table i got some of these errors: [FireDAC][Phys][ODBC][Microsoft][SQL Server Native Client 11.0]Operation canceled
Could it be that there is a problem with the firedac timeout?
Will the errors be processed through TMS Echo are the Errors inside the Echo_Load_Error final and have to be resolved through me?
That is very hard to tell without proper reproducing and debugging.
Unfortunately, it's all up to you. Echo will provide you with a list of items that failed to be loaded and you have to resolve the items yourself.
Here is a rough example:
Engine := TEchoRemoteEngine.Create('http://localhost:2001/tms/echo');
ErrorBatches := Engine.GetFailedIncomingBatches;
for var Batch in ErrorBatches do
for var Log in Batch.Log do
if Log.Error.Status = TLoadErrorStatus.Pending then
begin
ShowMessage(Log.Log.Entity);
// Reprocess
Log.Error.ResolvedEntity := Log.Log.Entity; // Modify Log.Log.Entity if needed
// Enable ping back mode only if you want the resolved entity
// to be replicated back to the origin server
// Log.Error.PingBackMode := TPingBackMode.ResendObject;
Engine.MergeError(Log.Error);
end;
is your "rough example" only pseudo Code or are some of these procedures available?
I couldn't find anything regarding error handling in the developers Guide.
Everything is available, but depending on the nature of the error you have to solve it yourself (e.g., modify the entity so that it doesn't conflict with your existing data).
Since your errors seem to be only due to bad database connection, probably the provide code would be enough, since it's just a retry.