在Java 8中的JDBC-ODBC-Bridge will be removed。典型的错误是:替换为JDBC-ODBC桥接
抛出java.lang.ClassNotFoundException:在sun.jdbc.odbc.JdbcOdbcDriver
你知道的可能替代的?我找到了Easysoft。但是这个网桥需要一个额外的服务器,它不在Java VM内部运行。它是一个3型驱动器,而不是1型驱动器。还有其他的选择吗?
在Java 8中的JDBC-ODBC-Bridge will be removed。典型的错误是:替换为JDBC-ODBC桥接
抛出java.lang.ClassNotFoundException:在sun.jdbc.odbc.JdbcOdbcDriver
你知道的可能替代的?我找到了Easysoft。但是这个网桥需要一个额外的服务器,它不在Java VM内部运行。它是一个3型驱动器,而不是1型驱动器。还有其他的选择吗?
与此同时,我们为我们的报告软件i-net Clear-Reports编写了基于JNA的我们自己的JDBC-ODBC-Bridge。目前该驱动程序不是官方产品。但如果你有兴趣,那么你可以联系我们。
另一个解决方案是从1.7 JRE中取得ODBC资料并将其打包到它自己的JAR文件中。
要做到这一点(这是为Windows 64,但过程应该是相同的),你需要抓住从1.7 JRE bin中的JdbcOdbc.dll
,并将其复制到1.8 JRE bin。
接下来,将1.7 JRE的lib\rt.jar
的内容提取到另一个位置。一旦提取,删除一切,除了
sun\
jdbc\
odbc\
*
security\
action\
LoadLibraryAction.class
然后创建其余内容的JAR文件(JAR的根内容应该是META-INF和太阳)。将JAR文件复制到1.8 JRE的lib\ext
文件夹中。
这对于Java VM的许可证有效吗? – Horcrux7
我找到了同样的解决方法:) - 请参阅stackoverflow.com/a/34617075/2110961 –
您使用ODBC访问哪个数据库服务器。也许你会发现一个直接/本地的JDBC驱动程序。 –
它适用于各种不含JDBC的ODBC驱动程序。 – Horcrux7
IDS软件/ IDS服务器也是一种类型3的解决方案,但我相信在过去的5到6年里它还没有得到积极的开发。 –