-1

我有 2 个数据库,Derby DB 和 Oracle DB。我的逻辑是检查 Derby DB 是否处于活动状态。如果是,我将向它发送 SQL 查询。如果 Derby DB 未处于活动状态,我想创建一个到 Oracle 的连接池并在那里执行 SQL 更新。

有没有办法做到这一点?

4

3 回答 3

1

您可以通过以下方式进行操作。1)加载Derby DB的驱动程序并尝试连接到数据库,如果它抛出异常,那么你可以在catch块中处理它。2) 加载 Oracle DB 驱动程序并连接到数据库并执行您的事务。

这样你就可以做到...

于 2012-09-25T09:33:05.030 回答
1

您可以根据需要使用任意数量的数据库连接。您只需要创建将服务于逻辑的连接提供程序。在该连接提供程序中,如果失败,您首先创建到 Derby 的连接,然后尝试到 Oracle。

您需要确保的是,您对数据库和正确的连接字符串都有适当的驱动程序。

确保你有课

Class.forName("oracle.jdbc.driver.OracleDriver"); 

Class.forName("org.apache.derby.jdbc.EmbeddedDriver"); 

万一没有找到上面的类,代码将抛出异常

关于 Derby 连接字符串

关于 Oracle 连接字符串

我还建议您阅读JDBC 教程,当您的项目发展时,您可能想要使用一些ORM

祝你好运!

于 2012-09-25T09:32:56.547 回答
0

你可以尝试这样的事情我想:

 getDerbyConnection();
   if(derbyConnectionActive) {
        //execute queries on derbyDb
      }
     else {
       getOracleDBConnection();
          //execute queries on Oracle 
      } 
于 2012-09-25T09:35:34.447 回答