多个用户可以同时使用Java连接到Microsoft Access数据库吗?

问题描述:

这个问题是不言自明的,但下面是一些关于这种情况的更多信息:多个用户可以同时使用Java连接到Microsoft Access数据库吗?

我正在构建一个Java程序,将用Access用户数据库替换一个包含Excel用户界面的程序。 Excel程序连接到Access数据库并与VBA通信。但是,到目前为止,一次只有一个用户。既然程序要扩展,我们需要许多用户同时写入任何表。

当然,Access允许多个用户一次连接。这在HSQLDB中是不可能的,这就是提出这个问题的原因。显然,使用服务器可以更好地完成此任务,但计划是使用当前数据库构建程序,然后再完成向服务器的转换。

在此先感谢

+0

我在这里回到我的档案中,所以有近期经历的人会是一个更好的来源,但我可以发誓,在以前的系统中,我设计了我只能连接到Access数据库一次。 –

+0

*多个用户可以同时使用Java连接到Microsoft Access数据库吗?* **是!** – Parfait

+0

请确保您是**而非**打开它以进行独占访问(https://www.connectionstrings.com/access /是一个很好的理由)。另外:正在访问文件的进程(或用户)需要**写入**来访问文件,以便一次连接多个用户。否则,当锁文件被创建时,你会遇到神秘的错误。 –

为了支持多个并发用户(进程)必须使用Access数据库引擎的Access数据库。从Java应用程序执行此操作的选项有:

  1. 使用Java自己的JDBC-ODBC Bridge和Access ODBC驱动程序。 (请注意,JDBC-ODBC桥已从Java 8中删除。)

  2. 使用第三方JDBC-ODBC Bridge和Access ODBC驱动程序。

  3. 使用与Access数据库引擎一起工作的第三方JDBC驱动程序(如果存在这种情况)。

需特别注意的是,UCanAccess JDBC驱动程序使用Access数据库引擎,因此并没有支持多个并发用户(进程)写入到Access数据库。

您可以做到这一点。我有一个类似的应用程序,我使用。在Java 1.8版中,ODBC桥已被删除,因此假设您使用的是1.8或更高版本,则必须使用单独的库进行连接。对我而言,速度较慢,但​​确实奏效。退房 Removal of JDBC ODBC bridge in java 8 我使用“Ucanaccess”作为我的程序,这是该问题的建议之一。