我想通过JDBC连接到两个不同的Oracle数据库(一个8.0.5.0.0和一个12c)。我确实有两个JDBC驱动程序,它们可以通过简单的“ hello
world”应用程序分别成功地连接到相应的DB。下面,我将它们都放在一个Java应用程序中,不幸的是,该应用程序不再起作用(加载了两个驱动程序)。
我已经阅读了这篇文章:从SAME
VENDOR处理多个JDBC驱动程序。提到的选项1可能还有路要走,但似乎存在一个主要问题:
似乎OracleDataSource在旧版本8驱动程序中尚不存在,仅在更高版本中才引入(在12c版本驱动程序中已存在)。
关于如何使用一个Java应用程序和两个JDBC驱动程序连接到这两个Oracle数据库的任何提示?
import java.sql.*;
class db {
public static void main (String args []) throws SQLException {
// Oracle 8 connection
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
Connection c1 = DriverManager.getConnection(
"jdbc:oracle:thin:@some-oracle-8-server:port:sid",
"my-user",
"my-password");
Statement s1 = c1.createStatement ();
ResultSet r1 = s1.executeQuery ("SELECT banner FROM V$VERSION WHERE banner LIKE 'Oracle%'");
while (r1.next ()) {
System.out.println(r1.getString (1));
}
c1.close();
// Oracle 12 connection
Connection c2 = DriverManager.getConnection(
"jdbc:oracle:thin:@some-oracle-12-server:port:sid",
"my-user",
"my-password");
Statement s2 = c2.createStatement ();
ResultSet r2 = s2.executeQuery ("SELECT banner FROM V$VERSION WHERE banner LIKE 'Oracle%'");
while (r2.next ()) {
System.out.println(r2.getString (1));
}
c2.close();
}
}
谢谢你!