Multiple Users with NAS access - Deployment (1 Viewer)

Gaztech

Member
Local time
Today, 20:26
Joined
Jan 5, 2021
Messages
39
Hi guys,

I'd like to get something clarified if possible. This may be a simple answer but I'm new to Access so I think it's best to check...

I have a split database and currently have up to 5 users accessing it. Each user has a Frontend for the system on their machine but the Backend Datafile sits on our shared Synology NAS drive.

So far, everything has been working fine. No errors have popped up and the data seems ok. No corruption or erroneous entries.

I need to find out if this method is suitable from the point of view of data integrity. I used to use Dataflex for my database requirements when I worked for another company and you could explicitly code a "re-read before save" function to ensure that if someone changed the data entry you were about to overwrite you could get a warning pop up (or not if you didn't ask it to do this). I had 30 + users using that and never ever got any errors. It was solid as a rock.

Access seems to be very much a "do it immediately" type of system and seems look after itself in this regard but I'm a little nervous about how it goes about ensuring nothing gets corrupted if two users are looking at or editing the same record at the same time. Hopefully it doesn't just lock it up so that neither can save it!

If the way I'm currently doing this is satisfactory from a data integrity point of view then will it still work the same way if I create a folder per user on the NAS Drive to put their respective Frontend into. What I'm aiming at is for each user to use their own Frontend copy from the NAS but connect to the shared Database Backend.

Are there any negative implications (data-wise) to doing this? I want to do it because this is a new project and is constantly evolving. Deploying new Frontends for each user is a pain if it resides on each machine. It's easier to write the new Frontend to a folder on the NAS Drive which they can access remotely and run.

Or... is there a better way to achieve what I need to do? Any comments would be useful. My apologies if this seems like a stupid question!
 

Minty

AWF VIP
Local time
Today, 19:26
Joined
Jul 26, 2013
Messages
10,355
Access will normally warn if another user has the same record open when you try and edit it.

As for the FE on the NAS - don't do it, if it does work it will be very flakey.
The front end is an application - you wouldn't try and use Word.exe from a NAS, you would always have it installed locally, which is effectively what you are suggesting (even if it doesn't seem like that)!
There are many ways to automate the updating of a FE - have a look on here for Automatic Front End Updater.
 

arnelgp

..forever waiting... waiting for jellybean!
Local time
Tomorrow, 03:26
Joined
May 7, 2009
Messages
19,169
Access will normally warn if another user has the same record open when you try and edit it.
Not always. it will when you Save the same record that was earlier saved by another.
 

The_Doc_Man

Immoderate Moderator
Staff member
Local time
Today, 14:26
Joined
Feb 28, 2001
Messages
26,999
Access, depending on some options, will catch a case of apparently simultaneous attempts by multiple users to update the same record.

Putting the FE someplace other than on the local system opens up a can of worms having to do with file locking via a network device. I don't know exactly how an NAS works when it comes to file-access locks, but I can say that articles I have found suggest there is more to this than acting as a simple device. Is the NAS device "owned" by a particular machine on the network? Because normally that would be the machine that manages file locks remotely. Windows is not normally happy with devices that DON'T have a lock manager, either, and several articles I have found suggest that unexpected device locking (in a way to prevent ANY use by others) is a common problem.

I don't know what device you are using but these articles seem relevant:




Note that the 3rd article specifically mentions SMB, which is what Access would use to get to data anywhere, whether local, remote, or on a shared server device. Your best bet for using this kind of shared device would be to assure that all back-end operations are either set for NO LOCKS or for OPTIMISTIC LOCKING. However, without a server device to manage file locks, I would be very skittish about this device.

I don't think it would LOSE data, but it seems to have the potential to make data sharing a bit more difficult.
 

Gaztech

Member
Local time
Today, 20:26
Joined
Jan 5, 2021
Messages
39
Access, depending on some options, will catch a case of apparently simultaneous attempts by multiple users to update the same record.

Putting the FE someplace other than on the local system opens up a can of worms having to do with file locking via a network device. I don't know exactly how an NAS works when it comes to file-access locks, but I can say that articles I have found suggest there is more to this than acting as a simple device. Is the NAS device "owned" by a particular machine on the network? Because normally that would be the machine that manages file locks remotely. Windows is not normally happy with devices that DON'T have a lock manager, either, and several articles I have found suggest that unexpected device locking (in a way to prevent ANY use by others) is a common problem.

I don't know what device you are using but these articles seem relevant:




Note that the 3rd article specifically mentions SMB, which is what Access would use to get to data anywhere, whether local, remote, or on a shared server device. Your best bet for using this kind of shared device would be to assure that all back-end operations are either set for NO LOCKS or for OPTIMISTIC LOCKING. However, without a server device to manage file locks, I would be very skittish about this device.

I don't think it would LOSE data, but it seems to have the potential to make data sharing a bit more difficult.
Very useful information! I do find though that everything works just fine as it is.

I'll take on board that I need to run the Frontends directly on the workstations. I tried to open the same records from two workstations and got the users to SAVE at the same time. It seems that the system handles the saves very well. I will monitor this to see if it's a potential problem or not.

Many thanks for all the replies guys!
 

gemma-the-husky

Super Moderator
Staff member
Local time
Today, 19:26
Joined
Sep 12, 2006
Messages
15,614
re-read before save is precisely what Access does, behind the scenes, with the default locking method that it calls "optimistic locking". If the record has changed, the user gets a warning that the record cannot be saved. The alternative of "pessimistic locking" actually locks the record so that other users cannot change it. Generally optimistic locking is sufficient. If you use pessimistic locking, you need a strategy to unwind a deadlock situation.

Optimistic concurrency control - Wikipedia
 

Pat Hartman

Super Moderator
Staff member
Local time
Today, 15:26
Joined
Feb 19, 2002
Messages
42,973
I don't know what the point of running the FE on a server drive would be. All that would do is to increase network traffic and slow things down. Access is going to work n memory on the local PC regardless of where the FE is actually stored.
 

Users who are viewing this thread

Top Bottom