使用JDBC连接位于同一服务器上不同数据库中的2个Oracle表中的数据

时间:2013-09-19 13:50:15

标签: java oracle java-ee jdbc

我在一个Oracle数据库中有一个简单的表,需要与另一个Oracle数据库中的一组表连接。它们驻留在同一服务器(不同的端口)上。我正在使用JDBC并希望保持简单。我可以连接到两个DB并在Java中连接结果集。但我想知道是否有更好/更简单的方法。

我不能轻易使用新的工具或框架,因为我在严格的企业环境中工作,所以想知道它是否可以用JDBC完成。

2 个答案:

答案 0 :(得分:2)

据我所知,无法在纯JDBC中执行此操作,但您可以使用oracle databaselink工具。它使一个数据库中的表在另一个数据库中可用,允许您执行连接等,就好像它们位于同一个数据库中一样。 JDBC可以很好地处理受这些链接约束的表。

设置它们是一种管理功能,因此您需要一些DBA参与。

http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_5005.htm

除此之外,如果“one”表不是太大,你可能必须将其读取到Map,然后在代码中执行查询的连接部分(这不是理想的)

答案 1 :(得分:1)

我看到两个选项。

  1. 手动从两个数据源获取数据,然后将其组合(您已经考虑过)。
  2. 创建从一个数据库到其他数据库的数据库链接,并在模式中为远程对象创建一个同义词,并使用java中的连接直接执行sql语句。