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

เมื่อดูที่ไซต์และเอกสารของ Oracle เวอร์ชันต่างๆ ดูเหมือนจะมุ่งเป้าไปที่เวอร์ชันต่างๆ ของ 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

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

answer

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

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

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

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