ドライバーを登録しない場合は、同じクラスローダーによってドライバーがロードされないようにします。
次に、別々のクラスローダーを介してそれらをロードすることにより、2つの異なるドライバーを使用して接続を作成できます。
// 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);
次に、Oracle12ドライバについても同じようにします。
あなたはかもしれない DriverManager
を介して「その他」のドライバーを引き続き使用することもできます 、しかしそれについてはよくわかりません。
Oracle固有のクラスへのアクセスが少し複雑になるいくつかのコーナーケースがありますが、一般に、これを介して作成された接続を問題なく使用できます。