2012-11-13 57 views
5

在Java 8中的JDBC-ODBC-Bridge will be removed。典型的错误是:替换为JDBC-ODBC桥接

抛出java.lang.ClassNotFoundException:在sun.jdbc.odbc.JdbcOdbcDriver

你知道的可能替代的?我找到了Easysoft。但是这个网桥需要一个额外的服务器,它不在Java VM内部运行。它是一个3型驱动器,而不是1型驱动器。还有其他的选择吗?

+1

您使用ODBC访问哪个数据库服务器。也许你会发现一个直接/本地的JDBC驱动程序。 –

+0

它适用于各种不含JDBC的ODBC驱动程序。 – Horcrux7

+1

IDS软件/ IDS服务器也是一种类型3的解决方案,但我相信在过去的5到6年里它还没有得到积极的开发。 –

回答

-1

与此同时,我们为我们的报告软件i-net Clear-Reports编写了基于JNA的我们自己的JDBC-ODBC-Bridge。目前该驱动程序不是官方产品。但如果你有兴趣,那么你可以联系我们。

2

另一个解决方案是从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文件夹中。

+0

这对于Java VM的许可证有效吗? – Horcrux7

+0

我找到了同样的解决方法:) - 请参阅stackoverflow.com/a/34617075/2110961 –