我有 2 个数据库,Derby DB 和 Oracle DB。我的逻辑是检查 Derby DB 是否处于活动状态。如果是,我将向它发送 SQL 查询。如果 Derby DB 未处于活动状态,我想创建一个到 Oracle 的连接池并在那里执行 SQL 更新。
有没有办法做到这一点?
我有 2 个数据库,Derby DB 和 Oracle DB。我的逻辑是检查 Derby DB 是否处于活动状态。如果是,我将向它发送 SQL 查询。如果 Derby DB 未处于活动状态,我想创建一个到 Oracle 的连接池并在那里执行 SQL 更新。
有没有办法做到这一点?
您可以通过以下方式进行操作。1)加载Derby DB的驱动程序并尝试连接到数据库,如果它抛出异常,那么你可以在catch块中处理它。2) 加载 Oracle DB 驱动程序并连接到数据库并执行您的事务。
这样你就可以做到...
您可以根据需要使用任意数量的数据库连接。您只需要创建将服务于逻辑的连接提供程序。在该连接提供程序中,如果失败,您首先创建到 Derby 的连接,然后尝试到 Oracle。
您需要确保的是,您对数据库和正确的连接字符串都有适当的驱动程序。
确保你有课
Class.forName("oracle.jdbc.driver.OracleDriver");
Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
万一没有找到上面的类,代码将抛出异常
我还建议您阅读JDBC 教程,当您的项目发展时,您可能想要使用一些ORM。
祝你好运!
你可以尝试这样的事情我想:
getDerbyConnection();
if(derbyConnectionActive) {
//execute queries on derbyDb
}
else {
getOracleDBConnection();
//execute queries on Oracle
}