Perbedaan antara class12.jar, ojdbc14.jar, ojdbc5.jar dan ojdbc6.jar

10

Kami berencana untuk meningkatkan server aplikasi kami ke versi baru JRun yang membawa pembaruan dari Jawa 1.4 ke Jawa 1.6. Sebagai bagian dari itu, kami telah menguji berbagai bagian dari tumpukan perangkat lunak kami dan menyadari perlunya melihat driver Oracle JDBC kami juga.

Melihat situs Oracle dan dokumentasi, versi yang berbeda tampaknya terutama menargetkan berbagai versi JDBC API, yang cenderung sesuai dengan versi JVM yang mereka perkenalkan. Dengan Java (umumnya) yang kompatibel ke belakang, sepertinya bertahan dengan ojdbc14.jar mungkin paling masuk akal, tapi saya berharap seseorang di luar sana bisa mengklarifikasi hal-hal yang sedikit lebih baik.

Dokumen secara khusus menyebutkan bagan seperti ini, yang membuat saya bertanya-tanya apakah ojdbc14.jar secara resmi didukung di bawah Java 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

Apakah ada sesuatu yang harus saya waspadai dari perspektif sistem saat mencampur dan mencocokkan driver dan mesin virtual?

Goyuix
sumber
Perhatikan bahwa ini bukan nomor versi, jadi ojdbc14.jar tidak lebih tua / lebih kompatibel daripada ojdbc6.jar, hanya menggunakan format file kelas bawah dan tidak semua fitur JDBC. Oracle merekomendasikan untuk selalu menggunakan versi klien instan terbaru - bahkan ketika DB Anda adalah versi yang lebih lama.
eckes

Jawaban:

6

Ya, Anda dapat menjalankan driver yang lebih kecil di versi java yang lebih baru. Hanya saja ojdbc14.jar tidak mengandung fitur JDBC3 dan JDBC4.

Anda harus membedakan antara runtime dan waktu kompilasi. Saat runtime Anda dapat menggunakan ojdbc14.jar dalam JRE6 selama kode aplikasi Anda tidak menggunakan fitur JDBC4. Jika Anda ingin menggunakan ojdbc14.jar di buildpath, Anda mungkin mengalami masalah dengan metode yang tidak diimplementasikan.

Namun saya umumnya menyarankan untuk menggunakan driver JDBC terbaru (yaitu 11.1.0.7) dan versi setinggi mungkin. (Tidak peduli apa versi DB itu).

Apakah Anda menggunakan mode OCI atau THIN?

eek
sumber
Kami menggunakan mode TIPIS.
Goyuix
1
gunakan versi tertinggi yang tersedia = lebih banyak bug yang diperbaiki ...
slovon
1
@slovon sebenarnya ada dokumen sertifikasi dari oracle yang memberi tahu Anda driver apa yang dapat digunakan dengan DB mana. driver 12.1 disertifikasi dengan 12.1 dan 11.2. Untuk RDBMS yang lebih lama Anda membutuhkan driver 11.1. (Dan klien 12.1 hadir dengan ojdbc7.jar juga, tetapi tidak di InstantClient)
eckes