Różnice między klasami 12.jar, ojdbc14.jar, ojdbc5.jar i ojdbc6.jar

10

Planujemy uaktualnić nasze serwery aplikacji do nowej wersji JRun, która niesie ze sobą aktualizację z Java 1.4 do Java 1.6. W ramach tego testowaliśmy różne elementy stosu oprogramowania i zdaliśmy sobie sprawę z potrzeby spojrzenia również na sterowniki Oracle JDBC.

Patrząc na witrynę i dokumentację Oracle, różne wersje wydają się być ukierunkowane przede wszystkim na różne wersje interfejsu JDBC API, które zwykle odpowiadają wersji JVM, w której zostały wprowadzone. Ponieważ Java (ogólnie) jest kompatybilna wstecz, wydaje się, że trzymanie się ojdbc14.jar może mieć jak najbardziej sens, ale miałem nadzieję, że ktoś tam wyjaśni trochę lepiej.

Dokumenty wywołują taką tabelę, co sprawia, że ​​zastanawiam się, czy ojdbc14.jar jest oficjalnie obsługiwany w Javie 6.

classes12.jar - for Java 1.2 and 1.3
ojdbc14.jar - for Java 1.4 and 1.5
ojdbc5.jar - for Java 1.5
ojdbc6.jar - for Java 1.6

Czy jest coś, o czym powinienem wiedzieć z perspektywy systemowej podczas miksowania i dopasowywania sterowników i maszyn wirtualnych?

Goyuix
źródło
Pamiętaj, że nie jest to numer wersji, więc ojdbc14.jar nie jest starszy / bardziej kompatybilny niż ojdbc6.jar, po prostu używa formatu plików niższej klasy, a nie wszystkich funkcji JDBC. Oracle zaleca stosowanie zawsze najnowszej wersji klienta błyskawicznego - nawet jeśli baza danych jest starsza.
eckes

Odpowiedzi:

6

Tak, możesz uruchomić mniejsze sterowniki w nowszych wersjach Java. Po prostu ojdbc14.jar nie zawiera funkcji JDBC3 i JDBC4.

Musisz rozróżnić czas działania i czas kompilacji. W środowisku wykonawczym możesz używać pliku ojdbc14.jar w środowisku JRE6, o ile kod aplikacji nie korzysta z funkcji JDBC4. Jeśli chcesz użyć ojdbc14.jar w ścieżce kompilacji, możesz napotkać problemy z niezaimplementowaną metodą.

Jednak ogólnie sugeruję korzystanie z najnowszych (tj. 11.1.0.7) sterowników JDBC i najwyższej możliwej wersji. (Bez względu na wersję DB).

Czy używasz trybu OCI lub THIN?

eckes
źródło
Używamy trybu THIN.
Goyuix
1
użyj najwyższej dostępnej wersji = naprawiono więcej błędów ...
slovon
1
@ slovon w rzeczywistości istnieje dokument certyfikacyjny z Oracle, który mówi, jakie sterowniki mogą być używane z którym DB. kierowcy 12.1 posiadają certyfikaty 12.1 i 11.2. Do starszych RDBMS potrzebujesz sterowników 11.1. (I klient 12.1 jest również dostarczany z plikiem ojdbc7.jar, ale nie w InstantClient)
eckes