Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Cannot Update the Cursor error
Message
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Versions des environnements
Visual FoxPro:
VFP 9 SP1
OS:
Windows 7
Network:
Windows 2003 Server
Database:
Visual FoxPro
Application:
Desktop
Divers
Thread ID:
01629575
Message ID:
01629577
Vues:
57
This message has been marked as a message which has helped to the initial question of the thread.
>Happy New Year, fellow VFP users !
>
>First question of the New Year from me .....
>
>In some older VFP code, we have an End of Day routine that runs AFTER the users have all exited the running program except the one PC that will execute the routine. This is because some of the code has to have exclusive use of the tables for indexing and packing.
>
>We have one site that keeps getting an intermittent error about one of our tables, call CENTRACK.dbf. The error message in the EOD routine is....
>
>"Cannot update the cursor CENTRACK, since it is read-only."
>
>..and the error appears as a OS error message ( as in the attachment ).
>
>There is only one place in the EOD routine that makes CENTRACK exclusive, and it is this...
>
>
>*TMT 06/03/13 Begin Purge Centrack Table
>DO poserrorLOG WITH PROGRAM(), 0, "--- EOD - \Begin Purge of Centrack Table","", LINENO(1)
>
>llError = .F.
>IF USED('centrack')
>	USE IN SELECT("centrack")
>ENDIF
>
>TRY
>	USE \POS\DBF\centrack EXCLUSIVE
>	*USE \POS\DBF\centrack IN 0 ALIAS centrack EXCLUSIVE
>CATCH
>	IF !mAll
>		MESSAGEBOX("Cannot pack the CENTRACK table... another REGISTER is using the CENTRACK file.  Please shutdown all other registers to run Store End-of-Day.",0+16,"Info",5000)
>	ENDIF
>	DO centrack WITH "FrmSeod.scx","cmdExecute", .F., _reg_no, .F., .T., .F., "Cannot pack the CENTRACK table... another REGISTER is using the CENTRACK file."
>	llError = .T.
>FINALLY
>ENDTRY
>IF NOT llError
>	SELECT centrack
>	GO TOP
>	SCAN
>		IF (DATE() - 180) > centrack.DATE
>			DELETE IN centrack
>		ENDIF
>	ENDSCAN
>	PACK
>	USE IN SELECT("centrack")
>ENDIF
>*TMT 06/03/13 Begin Purge Centrack Table
>DO poserrorLOG WITH PROGRAM(), 0, "--- EOD - /End of Purge of Centrack Table","", LINENO(1)
>
>
>According to our users, they are all out except the one PC running this routine.
>
>So any ideas??
>
>Thanks!

Starting by, on the server with the tables, going to Computer Management, and looking at System Tools/Shared Folders/Open Files. That will likely tell you what's up, and by whom.

Hank
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform