Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Cannot Update the Cursor error
Message
 
À
Tous
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Titre:
Cannot Update the Cursor error
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:
01629575
Vues:
41
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!
Tommy Tillman A+ NetWork+ MCP
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform