PRB: "Error 1709" When Several Users Are Using the Same Database (170917)



The information in this article applies to:

  • Microsoft Visual FoxPro for Windows 3.0
  • Microsoft Visual FoxPro for Windows 3.0b
  • Microsoft Visual FoxPro for Windows 5.0
  • Microsoft Visual FoxPro for Windows 5.0a
  • Microsoft Visual FoxPro for Windows 6.0

This article was previously published under Q170917

SYMPTOMS

When an application is being accessed by several users in a multi-user environment, the following error might occur when the database container is being manipulated:
Error 1709 - Database object is being used by someone else.
If you issue a RETRY command, it resolves the error message.

CAUSE

Two or more users are momentarily accessing the database container in a way that will not allow processing the information at the same time even though the database container is shared. The first user's information is processed and the second user receives the error. The chances of two or more users triggering this error is very slim. Therefore, this error occurs randomly. When this error does occur, the program needs to retry the task for the second user.

RESOLUTION

By setting up an error routine to trap this error and then issuing a RETRY command you will eliminate this problem. Below is a sample ON ERROR routine. Place the following code in a prg called onerror.prg:
   PARAMETERS errnum

   DO CASE errnum = 1709
      RETRY
   ENDCASE
				
At the start on the application, place the following command:
   ON ERROR DO onerror.prg WITH ERROR()
				

STATUS

This behavior is by design.

Modification Type:MajorLast Reviewed:5/12/2003
Keywords:kbprb KB170917