"Lock request time out period exceeded."
All I am doing is running a readonly SELECT where I fetch around 1000 records for processing. I basically loop around and do this 'Select 1000 records', 'Process those records', get the next 1000 records, etc.
On the Unidac Query, I have
On the Connection component, the LockTimeout = 9000
I am not using any specific Transaction stuff - just the defaults. I am using this basic code below to attempt a retry of the SELECT after an error message with the word 'Lock' in it. So far I get the exception error ok, but the loop does not repeat. Still working on that but it is an error I cannot duplicate, so it is difficult to work with.
Code: Select all
blCanRetry := true; repeat inc(ii); try query.open; ii := 99; //quit except on e: exception do begin blCanRetry := (pos('LOCK', uppercase(e.message)) > 0); sleep(500); end; end; until (ii >= 20) and blCanRetry;
Using UniDac 7.4.11 in Windows 7 and Delphi XE7