Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Multiuser REPLACE locks up
Message
 
To
22/04/2003 14:59:29
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Miscellaneous
Thread ID:
00780101
Message ID:
00780304
Views:
8
"vstatus" is view consisting of one "status" record. (along with some other
data out of other tables that aren't being updated)

I see that I typed the "replace" line of code incorrectly. I fixed it in my example code and below.

(replace vstatus.ncounter with vstatus.ncounter + 1 in vstatus)

Then those changes should update the "status" table during the tableupdate.

>I'm going to hazard a guess as to what you are doing: Each client has its own record in Status, and only updates its own record in the Status cursor. But the VStatus view is used to update other client's records in the same table. Correct?
>
>If I'm wrong, please let me know the view definition, and what records are being updated in the vstatus workarea.
>
>>I have an compiled vfp7 app running over citrix/WTS using wyse thin clients, with my exe and database on a netware 4.11 server. About 30 users. When they click "save" the following code is run...
>>
>>(There is a table "status" and a view "vstatus", both are buffered mode 5)
>>
>>
>>set reprocess to 30 seconds
>>replace vstatus.ncounter with vstatus.ncounter + 1 in vstatus
>>begin transaction
>>if tableupdate(.t.,.t.,'vstatus') and tableupdate(.t.,.t.,'status') then
>>     end transaction
>>else
>>     =messagebox('Error saving data',0,'Error')
>>     rollback
>>endif
>>
>>
>>The app is freezing up when the second tableupdate occurs. A look at the
>>netware server shows status.dbf with a "locked" status for maybe 5 users. I have to kill the connections till only one user is left and then they unfreeze and continue on. I thought that if the record was locked for more than 30 seconds (which it shouldn't be with that short transaction) the other users would fail the tableupdate and get an error message. This isn't happening. It's almost as if the reprocess is infinite. Any tips?
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform