Each FoxWeb channel is a separate VFP process, which means that, if you are running multiple channels, you can have multiple scripts executing simultaneously. This is exactly the same situation as if you had multiple computers on a LAN accessing the same database. For example, if you SET EXCLUSIVE OFF, you will not get an error message. Of course there's more to multi-user programming than simply being able to open a table without the software complaining, such as collision management. The coding techniques required for this are described in the
Programming for Shared Access topic of the VFP documentation.
The Close Table configuration option in the FoxWeb Control Center controls what happens to open tables when script execution is finished. As I explained above, scripts running simultaneously are hosted by different channels, so closing tables in one script does not affect other users.
FoxWeb Support Team support@foxweb.com email |
Sent by Gia Luc on 03/29/2005 09:02:26 AM:
Hello
Suppose I have some commands in a FW script, say "Test.fwx" such as :
..
USE "products" IN 0 ORDER TAG "code"
USE "basket" IN 0 ORDER TAG "code"
..
1) What happens when several users request the same script "Test.fwx" at the same time ? Does FW process script requests in serial (one after another) or simultaneously ?
If processing is done in a serial fashion, I don't think there is a problem (but see question 2).
If processing is done simultaneously, surely the script will crash, with Foxpro complaining that the tables are already open (by the very first user that ran "Test.fwx")
2) What happens to open tables when FW finishes processing a script ? Do I need to explicity close them, or does FW do that automatically ?
If FW processes scripts simultaneously, and I explicity close a table, does that affect other scripts being run which use the table which has been closed ?
Thanks for your help.
Gia