I have to update a split Access DB from single-user to multiple
users. All persistent data is in the BE, FE contains the app plus a
few tables that would be TEMPORARY if Access supported the concept.
The client has access only to the runtime, not the development
environment.
I see three options:
1) Each client gets a copy of the FE
2) Single FE shared over the network
3) Single FE, containing NO tables, shared over the network. Any temp
tables needed are linked from a "local" BE for each client.
I have 30+ years as an enterprise DB architect/software engineer
(Postgres, Oracle, MySQL, Java) but limited Access experience. This
is a volunteer project for a local club to which I belong.
My assessment of these 3 options would be:
1) OK, but a real pain when it comes time to push a FE update to the
clients, especially when some of those clients may not be online
all the time (laptops).
2) This sounds tricky, since all the FE temp tables would have to be
multi-tenant (client host column) to avoid conflicts, and there
would likely still be lock contention.
3) This sounds like the best option. Each client's local temp BE
would isolate the FE's transient data to that client. The DB
startup code could even recreate the local temp BE each time.
However, everything I read says a network-shared FE is a recipe for
disaster and DB corruption.
Can someone explain exactly WHY this is?
Or, does the "disaster" designation only apply to option 2 above? Is
it safe if the FE contains no tables?
users. All persistent data is in the BE, FE contains the app plus a
few tables that would be TEMPORARY if Access supported the concept.
The client has access only to the runtime, not the development
environment.
I see three options:
1) Each client gets a copy of the FE
2) Single FE shared over the network
3) Single FE, containing NO tables, shared over the network. Any temp
tables needed are linked from a "local" BE for each client.
I have 30+ years as an enterprise DB architect/software engineer
(Postgres, Oracle, MySQL, Java) but limited Access experience. This
is a volunteer project for a local club to which I belong.
My assessment of these 3 options would be:
1) OK, but a real pain when it comes time to push a FE update to the
clients, especially when some of those clients may not be online
all the time (laptops).
2) This sounds tricky, since all the FE temp tables would have to be
multi-tenant (client host column) to avoid conflicts, and there
would likely still be lock contention.
3) This sounds like the best option. Each client's local temp BE
would isolate the FE's transient data to that client. The DB
startup code could even recreate the local temp BE each time.
However, everything I read says a network-shared FE is a recipe for
disaster and DB corruption.
Can someone explain exactly WHY this is?
Or, does the "disaster" designation only apply to option 2 above? Is
it safe if the FE contains no tables?