यदि आप ड्राइवरों को पंजीकृत नहीं करते हैं तो आप उन्हें उसी क्लासलोडर द्वारा लोड होने से बचाते हैं।
फिर आप दो अलग-अलग ड्राइवरों को अलग-अलग क्लास लोडर के माध्यम से लोड करके कनेक्शन बना सकते हैं:
// Oracle 8 connection
File jar = new File("/path/to/oracle8.jar");
URL[] cp = new URL[1];
cp[0] = jar.toURI().toURL();
URLClassLoader ora8loader = new URLClassLoader(cp, ClassLoader.getSystemClassLoader());
Class drvClass = ora8loader.loadClass("oracle.jdbc.driver.OracleDriver");
Driver ora8driver = (Driver)drvClass.newInstance();
Properties props = new Properties();
// "user" instead of "username"
props.setProperty("user", "my-user");
props.setProperty("password", "my-password");
Connection ora8conn = ora8driver.connect("jdbc:oracle:thin:@some-oracle-8-server:port:sid",props);
फिर Oracle 12 ड्राइवर के लिए भी ऐसा ही करें।
आप शायद DriverManager
. के माध्यम से अभी भी "अन्य" ड्राइवर का उपयोग करने में सक्षम हो , लेकिन मैं इसके बारे में निश्चित नहीं हूं।
कुछ कोने के मामले हैं जहां Oracle विशिष्ट वर्गों तक पहुंचना थोड़ा जटिल हो जाता है, लेकिन सामान्य तौर पर आप इसके माध्यम से बनाए गए कनेक्शन का उपयोग बिना किसी समस्या के कर सकते हैं।