>Hi,
>my problem with Transaction isn't solved, but I've a sample to reproduce the problem
>The following code doesn't work, it delete only 500 records, but if I comment Transaction
>operation it work well
>
>Can anyone tell me something ? It's a bug of FoxPro ? Is anyone using
>Transaction and updating more than 500 records ??
>
>Thanks,
> Bertuol Renato (email:
renato.bertuol@elmec.it)
>
>++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>LOCAL LNCOUNTER
>LNCOUNTER=0
>
>USE TBCLICNF IN 0 && MY FILENAME
>
>SELE TBCLICNF
>CURSORSETPROP("Buffering",5) && OPTIMISTIC TABLE BUFFERING ON
>
>BEGIN TRANSACTION
>
>DO WHILE !EOF() && I TRY TO DELETE
>1000 RECORDS
> DELETE
> SKIP
> LNCOUNTER=LNCOUNTER+1
> IF LNCOUNTER>1000
> EXIT
> ENDIF
>ENDDO
>
>IF TABLEUPDATE(2,.T.)
> MESSAGEBOX("OK")
>ELSE
> MESSAGEBOX("KO") && TABLEUPDATE FAILS
>ENDIF
>
>END TRANSACTION
>
>USE
>
>RETURN
Hi Marco,
I think the problem you report is thar your operating system couldn't alocatte enough space for locks. If you are using Netware, increase the number of locks: SET RECORDS LOCKS PER CONNECTION = 10000 in the Novell console
Another solution is to using DELETE ALL FOR
, that locks the entire Table but have a faster time and use less operating system resources