【问题标题】:Include Java 7 ODBC classes to Java 8将 Java 7 ODBC 类包含到 Java 8
【发布时间】:2016-08-02 10:21:33
【问题描述】:

我正在开发一个需要与 Microsoft Access 数据库通信的 Java 应用程序。从 Java 8 开始,ODBC-JDBC 连接已被删除。 出于这个原因,我们开始研究 Native 驱动程序,即 JDBC 驱动程序。

我们使用了 UCanAccess,这似乎运行良好,但经过更密集的测试后,我们发现处理速度不够高,这意味着我们不能用它作为替代品。

我们研究了多个提供此功能的库,但没有一个库可以为我们提供我们想要的速度。我们正在考虑重构(优化)代码以获得性能,不幸的是这需要时间。

我们找到了一个博客,其中描述了如何通过从 Java 7 JRE 中挑选一些类来启用 Java 8 中的 ODBC 功能。 这将是赢得一些时间的好方法,因此我们可以优化代码。 http://bigfatball.blogspot.nl/2016/03/how-to-enable-jdbc-odbc-bridge-for-jdk-8.html

我们可以控制已安装的 JRE(我们可以手动添加 jar 和 dll),但我们确实需要不时更新。

- 将此 Java 7 功能“破解”到 Java 8 中的风险是什么?

【问题讨论】:

  • 您必须为每台运行您的应用程序的计算机提供 Java 7、8 JRE。
  • “我们研究了多个提供此功能的库,但没有一个库可以为我们提供我们想要的速度。” - 是否包括用于 Access 的商业 JDBC 驱动程序或第三方 -方JDBC-ODBC桥接软件?另外,您是否测试过 Java7 中的原生 JDBC-ODBC 桥以验证 是否能够提供足够的性能?
  • @GordThompson 我们也测试了一些商业库,其中大多数与 UcanAccess 的速度相同(同样基于 Jackcess),1 个库看起来很有希望,但我们没有继续研究他们对我们想要使用它的方式收取高昂的许可费。 (5 万英镑)

标签: java ms-access jdbc jdbc-odbc


【解决方案1】:

出于良心,我不能推荐将 JDBC-ODBC 桥组件从 Java 7“破解”到 Java 8 中,因为除此之外,JDBC-ODBC 桥听起来像个坏主意™

  • 从未得到官方支持,也从未打算用于生产,
  • 出了名的越野车,并且
  • 始终无法与 Access ODBC 一起正常工作以处理代码点 U+007F 以上的 Unicode 字符。

如果我发现自己处于类似情况,那么我会考虑以下几点:

  1. 如果这个项目只针对 Windows 平台并且与 Access 数据库的互操作性是必不可少的,那么我会认真考虑用 C# 而不是 Java 开发应用程序。

  2. 1234563 /p>
  3. 如果要求在 Java 8 上运行现在,并且我需要立即使用 Access 数据库的解决方案,我会考虑安装 SQL Server Express Edition(免费),创建 SQL Server” Access 数据库的 Linked Server”,然后使用 SQL Server JDBC 驱动程序或 jTDS 使用 T-SQL 操作 Access 数据库。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-12
    • 1970-01-01
    • 2017-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-27
    相关资源
    最近更新 更多