Hi All,
there's a rather big (224000+ records) DBF table on a network drive. It is used in shared mode between multiple workstations.
Sometimes I need to do a rather lengthy database maintenace which is mainly consists a REPLACE ALL ... FOR ... command. Due to the speed of the network, this part runs for about an hour. During this time, the rest of the workstations can use this table for read, which is good enough for me.
However, if I try to start a new instance on another workstation during the update, it runs to an error. I'd like to understand why is this. Probably REPLACE does a full lock on the table for the time of update, which is understandable. But it seems during open the USE statement also tries to lock the table even if SET EXCLUSIVE is off and there's a SHARED or NOUPDATE parameter on the USE statement.
Is any way to avoid this?
there's a rather big (224000+ records) DBF table on a network drive. It is used in shared mode between multiple workstations.
Sometimes I need to do a rather lengthy database maintenace which is mainly consists a REPLACE ALL ... FOR ... command. Due to the speed of the network, this part runs for about an hour. During this time, the rest of the workstations can use this table for read, which is good enough for me.
However, if I try to start a new instance on another workstation during the update, it runs to an error. I'd like to understand why is this. Probably REPLACE does a full lock on the table for the time of update, which is understandable. But it seems during open the USE statement also tries to lock the table even if SET EXCLUSIVE is off and there's a SHARED or NOUPDATE parameter on the USE statement.
Is any way to avoid this?