I'm using UCanAccess to connect to an access DB file on a share folder, and it's working fine in simple cases.
But I'm still unsure if it's a robust or safe thing to do when I expect multiple users to send "insert" requests to that DB, the users will simply send a single-row insert statement for a certain activity, or more depending their usage of the software, it's a small program, maybe 100 rows added per day or so.
UCanAccess home page says:
-Very limited multiprocess access support. Nevertheless, it tries to synchronize data when a concurrent process modifies the Access database file.
So, can I rely on UCanAccess or MS Access in general to support multiple users at the same time without getting the DB corrupted? The DB got corrupted once, but I think it was because of some issues with closing resources improperly, I tried to make it more certain that all connections and resources will be closed.
I would really appreciate your feedback,
Thank you.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
can I rely on UCanAccess or MS Access in general to support multiple users at the same time without getting the DB corrupted?
Microsoft Access itself is designed to support multiple concurrent users updating the database when using the Access Database Engine. However, UCanAccess does not use the Access Database Engine so multiprocess access support is necessarily limited. For more details, see the blog post here.
TL;DR - If you really need to have multiple concurrent users updating an Access database you should be using a solution that performs those updates through the Access Database Engine.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi,
I'm using UCanAccess to connect to an access DB file on a share folder, and it's working fine in simple cases.
But I'm still unsure if it's a robust or safe thing to do when I expect multiple users to send "insert" requests to that DB, the users will simply send a single-row insert statement for a certain activity, or more depending their usage of the software, it's a small program, maybe 100 rows added per day or so.
UCanAccess home page says:
-Very limited multiprocess access support. Nevertheless, it tries to synchronize data when a concurrent process modifies the Access database file.
So, can I rely on UCanAccess or MS Access in general to support multiple users at the same time without getting the DB corrupted? The DB got corrupted once, but I think it was because of some issues with closing resources improperly, I tried to make it more certain that all connections and resources will be closed.
I would really appreciate your feedback,
Thank you.
Microsoft Access itself is designed to support multiple concurrent users updating the database when using the Access Database Engine. However, UCanAccess does not use the Access Database Engine so multiprocess access support is necessarily limited. For more details, see the blog post here.
TL;DR - If you really need to have multiple concurrent users updating an Access database you should be using a solution that performs those updates through the Access Database Engine.
Is there such a solution that can be used through Java without forcing users to install Access engine libraries?
Last edit: Jack Borsin 2017-07-11