2012-11-13 4 views
5

In Java 8 die JDBC-ODBC-Bridge will be removed. Der typische Fehler ist:Ersatz für JDBC-ODBC Bridge

java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver

Kennen Sie einen möglichen Ersatz? Ich habe Easysoft gefunden. Diese Bridge benötigt jedoch einen zusätzlichen Server, der nicht in der Java VM ausgeführt wird. Es ist ein Typ-3-Treiber und kein Typ-1-Treiber. Gibt es andere Alternativen?

+1

Auf welchen DB-Server greifen Sie mit ODBC zu? Vielleicht finden Sie einen direkten/nativen JDBC-Treiber. –

+0

Es ist für eine breite Palette von ODBC-Treibern, die kein JDBC-Äquivalent haben. – Horcrux7

+1

IDS Software/IDS Server ist auch eine Typ 3 Lösung, aber ich glaube, dass sie in den letzten 5 oder 6 Jahren nicht aktiv entwickelt wurde. –

Antwort

-1

In der Zwischenzeit haben wir unsere eigene JDBC-ODBC-Bridge basierend auf JNA für unsere Reporting-Software i-net Clear-Reports geschrieben. Derzeit ist der Fahrer kein offizielles Produkt. Aber wenn Sie Interesse haben, können Sie uns kontaktieren.

2

Eine andere Lösung besteht darin, das ODBC-Zeug aus der 1.7 JRE zu nehmen und es in seine eigene JAR-Datei zu packen.

Um dies zu tun (dies ist für Windows 64, aber der Prozess sollte identisch sein), müssen Sie die JdbcOdbc.dll aus dem 1.7 JRE bin und kopieren Sie es in die 1.8 JRE bin.

Als nächstes extrahieren Sie den Inhalt der 1.7 JRE lib\rt.jar an einem anderen Ort. Sobald extrahierte, löscht alles außer

sun\ 
    jdbc\ 
     odbc\ 
      * 
    security\ 
     action\ 
      LoadLibraryAction.class 

Dann eine JAR-Datei mit dem restlichen Inhalt erstellen (die Wurzel Inhalt der JAR sollte META-INF und Sonne). Kopieren Sie die JAR-Datei in den Ordner lib\ext von 1.8 JRE.

+0

Ist dies mit der Lizenz der Java VM gültig? – Horcrux7

+0

Ich fand die gleiche Lösung :) - siehe stackoverflow.com/a/34617075/2110961 –