ความแตกต่างระหว่างคลาส 12.jar, ojdbc14.jar, ojdbc5.jar และ ojdbc6.jar


10

เราวางแผนที่จะอัพเกรดแอพพลิเคชั่นเซิร์ฟเวอร์ของเราให้เป็นเวอร์ชั่นใหม่ของ JRun ซึ่งมีการอัพเกรดจาก Java 1.4 เป็น Java 1.6 ในส่วนนี้เราได้ทำการทดสอบซอฟต์แวร์สแต็กหลาย ๆ ชิ้นและตระหนักถึงความจำเป็นในการดูไดรเวอร์ Oracle JDBC ของเราเช่นกัน

เมื่อมองไปที่ไซต์และเอกสารของออราเคิลรุ่นที่ต่างกันดูเหมือนว่าจะมุ่งเป้าไปที่ JDBC API รุ่นต่าง ๆ เป็นหลักซึ่งมีแนวโน้มที่จะสอดคล้องกับเวอร์ชั่นของ JVM ที่พวกเขาเปิดตัวด้วย Java (โดยทั่วไป) เข้ากันได้ย้อนหลังดูเหมือนว่า การเกาะติดกับ ojdbc14.jar อาจจะสมเหตุสมผลที่สุด แต่ฉันก็หวังว่าจะมีใครซักคนที่นั่นสามารถอธิบายสิ่งต่าง ๆ ได้ดีขึ้นเล็กน้อย

เอกสารเรียกเฉพาะแผนภูมิเช่นนี้ซึ่งทำให้ฉันสงสัยว่า ojdbc14.jar ได้รับการสนับสนุนอย่างเป็นทางการภายใต้ 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

มีบางสิ่งที่ฉันควรทราบจากมุมมองของระบบเมื่อผสมและจับคู่ไดรเวอร์และเครื่องเสมือนหรือไม่?


โปรดทราบว่านี่ไม่ใช่หมายเลขเวอร์ชันดังนั้น ojdbc14.jar จะไม่เก่า / เข้ากันได้ดีกว่า ojdbc6.jar เพียงใช้รูปแบบไฟล์คลาสที่ต่ำกว่าและไม่ใช่คุณสมบัติ JDBC ทั้งหมด Oracle แนะนำให้ใช้เวอร์ชันไคลเอ็นต์ทันใจล่าสุดเสมอ - แม้ว่า DB ของคุณจะเป็นเวอร์ชันที่เก่ากว่าก็ตาม
eckes

คำตอบ:


6

ใช่คุณสามารถเรียกใช้ไดรเวอร์ที่มีขนาดเล็กลงในรุ่น java ที่ใหม่กว่า เป็นเพียงว่า ojdbc14.jar ไม่มีคุณสมบัติ JDBC3 และ JDBC4

คุณต้องแยกความแตกต่างระหว่างเวลารันไทม์และเวลาคอมไพล์ ที่รันไทม์คุณสามารถใช้ ojdbc14.jar ใน JRE6 ตราบใดที่โค้ดแอปของคุณไม่ได้ใช้คุณสมบัติ JDBC4 หากคุณต้องการใช้ ojdbc14.jar ใน buildpath คุณอาจประสบกับโพรบที่ไม่มีเมธอดที่นำมาใช้

อย่างไรก็ตามฉันแนะนำโดยทั่วไปให้ใช้ไดรเวอร์ JDBC ล่าสุด (เช่น 11.1.0.7) และรุ่นสูงสุดที่เป็นไปได้ (ไม่ว่าจะเป็นรุ่นฐานข้อมูลก็ตาม)

คุณใช้โหมด OCI หรือ THIN หรือไม่


เรากำลังใช้โหมดบาง
Goyuix

1
ใช้รุ่นที่ใช้ได้สูงสุด = ข้อบกพร่องอื่น ๆ คงที่ ...
slovon

1
@slovon จริง ๆ แล้วมีเอกสารรับรองจาก oracle ที่บอกคุณว่าสามารถใช้ไดรเวอร์ใดกับ DB ใด ไดรเวอร์ 12.1 ได้รับการรับรองด้วย 12.1 และ 11.2 สำหรับ RDBMS รุ่นเก่าคุณต้องใช้ไดรเวอร์ 11.1 (และไคลเอนต์ 12.1 มาพร้อมกับ ojdbc7.jar เช่นกัน แต่ไม่ได้อยู่ใน InstantClient)
eckes
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.