2012-11-13 58 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 –