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

Can multiple users connect to a Microsoft Access database at the same time using Java?

这个问题不言自明,但下面是有关情况的更多信息:

我正在构建一个 Java 程序,该程序将用 Access 数据库替换由 Excel 用户界面组成的程序。 Excel 程序连接到 Access 数据库并与 VBA 通信。但是,到目前为止,一次只有一个用户。现在程序要扩展了,我们需要许多用户能够同时写入任何table。

当然,Access 允许多个用户同时连接。这在 HSQLDB 中是不可能的,这就是问题所在。显然,这通过服务器更好地完成,但计划是使用当前数据库构建程序,然后在稍后完成到服务器的转换。

提前致谢

你可以的。我有一个类似的应用程序。在 Java 的 1.8 版中,ODBC 桥已被删除,因此假设您使用的是 1.8 或更高版本,您将不得不考虑使用单独的库进行连接。对我来说,它的速度较慢,但​​确实有效。查看 Removal of JDBC ODBC bridge in java 8 我的程序使用 "Ucanaccess",这是该问题中的建议之一。

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

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

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

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

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