1

我正在考虑将 Microsoft 访问数据库用于 Java 项目。我的问题是,如果我使用 Microsoft 访问数据库并且我完成了我的项目并将其作为 jar 文件在任何计算机/操作系统上运行,是否任何计算机/操作系统都需要在其上安装 Microsoft 访问,特别是如果数据库需要放在 java 程序上的 GUI 上,程序的管理员可以添加和删除条目。

4

2 回答 2

1

您必须在访问数据库的任何机器上安装 access odbc 驱动程序。我认为您可以通过安装 Access 运行时的东西而不安装所有 Access 来做到这一点。请记住,这种数据访问是文件级别的,因此您的性能会很差。我建议你使用一个真正的数据库(postgres、mysql、sql server、oracle)或者一个轻量级的数据库,比如SQL Server express,然后使用 odbc-jdbc 桥或者最好是原生 jdbc 驱动程序访问该数据库。使用本机 jdbc 驱动程序可以让您在非 Windows 环境中运行您的应用程序。

于 2013-01-08T19:52:07.157 回答
0

您可以在每个 Microsoft Windows 系统上通过JDBC-ODBC 桥使用 Access 数据库,而无需安装 Microsoft Access。您只需要以前称为Jet 数据库引擎的 Access 数据库引擎 (ACE) 。ACE 是当前 Windows 版本的一部分。对于较旧的,可能需要安装Microsoft 数据访问组件(MDAC)。

从 Java 中使用 Access 数据库有一些缺点:

  • 这是带有本机代码的 1 类驱动程序。通常纯 Java JDBC 驱动程序性能更高。
  • 在 JDK 6 中,JDBC-OLE 桥得到了一些增强。但是字符集和 CLOB 仍然存在一些问题。
  • 您的应用程序仅限于 Microsoft Windows 操作系统。
  • 根据JDK 7 JDBC-ODBC 桥接指南,JDBC-ODBC 桥接将在 JDK 8 中删除:

JDBC-ODBC 桥应被视为一种过渡解决方案;它将在 JDK 8 中删除。此外,Oracle 不支持 JDBC-ODBC 桥。Oracle 建议您使用数据库供应商提供的 JDBC 驱动程序而不是 JDBC-ODBC 桥。

因此,如果有机会为您的项目使用其他数据库,则应避免将 Microsoft Access 与 Java 一起使用。

有很多替代品具有更好的 JDBC 驱动程序。

如果你想要一个占用空间小的嵌入式数据库,有:

(Java DB、H2 和 HSQLDB 是纯 Java 解决方案)

如果您更喜欢客户端服务器解决方案,那么对于大多数商业和开源来说,都存在成熟的 JDBC 驱动程序。

于 2013-01-08T20:58:54.790 回答