Hi Every body,
I'm encoutering a "lock table overflow" problem but I don't know why and also I don't know how to solve it
I have to update 500.000 records, and my database "lock table" attribute allows me to update 400.000. But It always failed
I try many solution and my "final try" is these code. What's wrong with it please?
edit:I want to precise that I'm updating more thant 20 tables in the same program, could it be the error?
(I assume that somes lines could be deleted, but as I'm totaly lost in this problem .... I don't want to do an other mistake )
update-records contains :
I'm encoutering a "lock table overflow" problem but I don't know why and also I don't know how to solve it
I have to update 500.000 records, and my database "lock table" attribute allows me to update 400.000. But It always failed
I try many solution and my "final try" is these code. What's wrong with it please?
edit:I want to precise that I'm updating more thant 20 tables in the same program, could it be the error?
(I assume that somes lines could be deleted, but as I'm totaly lost in this problem .... I don't want to do an other mistake )
Code:
FIND FIRST myTable WHERE <....> NO-LOCK NO-ERROR
DO WHILE AVAILABLE myTable :
FIND CURRENT myTable EXCLUSIVE-LOCK .
RUN update-records(<params>).
FIND CURRENT myTable NO-LOCK .
FIND NEXT myTable NO-LOCK NO-ERROR .
END.
update-records contains :
Code:
DEFINE INPUT PARAMETER ph-handle AS HANDLE NO-UNDO .
DEFINE INPUT PARAMETER pi-a AS INTEGER NO-UNDO .
DEFINE INPUT PARAMETER pc-b AS CHARACTER NO-UNDO .
DEFINE INPUT PARAMETER pd-c AS DATE NO-UNDO .
DO TRANSACTION :
ph-handle:BUFFER-FIELD("fieldA"):BUFFER-VALUE = pi-a .
ph-handle:BUFFER-FIELD("fieldB"):BUFFER-VALUE = pc-b .
ph-handle:BUFFER-FIELD("fieldC"):BUFFER-VALUE = pd-d .
END.