Jika Anda tidak mendaftarkan driver, Anda menghindarinya dimuat oleh classloader yang sama.
Kemudian Anda dapat membuat koneksi menggunakan dua driver yang berbeda dengan memuatnya melalui classloader terpisah:
// 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);
Kemudian lakukan hal yang sama untuk driver Oracle 12.
Anda mungkin juga masih dapat menggunakan driver "lainnya" melalui DriverManager
, tapi saya tidak yakin tentang itu.
Ada beberapa kasus di mana mengakses kelas khusus Oracle menjadi sedikit rumit, tetapi secara umum Anda dapat menggunakan koneksi yang dibuat melalui ini tanpa masalah.