【问题标题】:How to find MS Access version number in java code如何在 java 代码中查找 MS Access 版本号
【发布时间】:2013-08-06 01:09:04
【问题描述】:

有没有办法使用 java 代码查找 MS Access 的版本号。我正在使用 jdbc-odbc 网桥连接 MS Access。

我的用例是使用 JDBC 加载 mdb 和 accdb 驱动程序 DriverManager.getConnection("jdbc:odbc:DRIVER={Microsoft Access Driver(.mdb,.accdb);}DBQ=filename")

如果我使用 access 2003 或以前的版本,将不会安装 accdb 驱动程序。因此,在加载时会引发异常。有什么办法解决。

提前致谢。

问候, 甘尼桑

【问题讨论】:

  • 请编辑您的问题以阐明您是否需要:(1) 计算机上安装的 Microsoft Access 程序本身(如果有)的版本, (2) 正在访问数据库文件的 ACE/Jet 数据库引擎的版本,或 (3) 正在访问的数据库文件的版本(文件格式)。
  • 您是否尝试过捕获在尝试使用 ACE 驱动程序 (*.mdb, *.accdb) 时出现的任何错误,然后尝试使用 Jet 驱动程序 (*.mdb) 来代替?

标签: java ms-access jdbc-odbc


【解决方案1】:

要使用驱动程序,必须安装并注册。您可以检查:

Enumeration<Driver> driverlist = DriverManager.getDrivers();
while(driverlist.hasMoreElements()) {
   System.out.println(driverlist.nextElement().getClass());
}

https://www.tutorialspoint.com/how-to-get-the-list-of-all-drivers-registered-with-the-drivermanager-using-jdbc

【讨论】:

    【解决方案2】:

    从 java.sql.Connection 你有 getMetaData() 来获取DatabaseMetaData。如果驱动程序实现了这个信息,这里有几种方法(例如getDatabaseMajorVersion())来获取版本信息。

    【讨论】:

    • 好主意,但不幸的是,getDatabaseMajorVersion() 在针对 Access 数据库文件的连接运行时抛出“UnsupportedOperationException”。
    猜你喜欢
    • 2022-06-12
    • 1970-01-01
    • 1970-01-01
    • 2021-06-14
    • 1970-01-01
    • 1970-01-01
    • 2013-04-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多