在 Java 8 中,JDBC-ODBC-Bridge 将被移除。典型的错误是:
java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver
你知道可能的替代品吗?我找到了易软。但是这个桥需要一个额外的服务器,它不在 Java VM 内运行。它是类型 3 驱动程序而不是类型 1 驱动程序。还有其他选择吗?
在 Java 8 中,JDBC-ODBC-Bridge 将被移除。典型的错误是:
java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver
你知道可能的替代品吗?我找到了易软。但是这个桥需要一个额外的服务器,它不在 Java VM 内运行。它是类型 3 驱动程序而不是类型 1 驱动程序。还有其他选择吗?
另一种解决方案是从 1.7 JRE 中获取 ODBC 内容并将其打包到它自己的 JAR 文件中。
为此(这适用于 Windows 64,但过程应该相同),您需要JdbcOdbc.dll
从 1.7 JRE bin 中取出并将其复制到 1.8 JRE bin 中。
接下来,将 1.7 JRE 的内容提取lib\rt.jar
到另一个位置。提取后,删除除
sun\
jdbc\
odbc\
*
security\
action\
LoadLibraryAction.class
然后创建一个包含剩余内容的 JAR 文件(JAR 的根内容应该是 META-INF 和 sun)。将 JAR 文件复制到 1.8 JRE 的lib\ext
文件夹中。
同时,我们为我们的报告软件i-net Clear-Reports编写了我们自己的基于 JNA 的 JDBC-ODBC-Bridge 。目前该驱动程序不是官方产品。但如果您有兴趣,可以联系我们。