2016-09-29 71 views
-1

我在Oracle中有两个数据库,都在不同的服务器上。java - 存储过程数据库链接

当我打电话给Web服务时,它连接到数据库1,它将从远程服务器上的数据库2中获取数据。我们现在使用DB链接从远程服务器获取数据,并使用Spring服务实现Web服务。但是由于数据库链接,我们正在遇到性能问题。

那么是否有任何选择或从Java方面替代从其他服务器获取数据并从服务器2调用存储过程?

回答

1

您可以通过DBLink在Database1中使用填充了数据的Database1中的物化视图。这将消除实时DBLink查询中偶然发生的性能问题,但会在matview刷新之间引入数据延迟问题。

文档:Oracle Materialized Views

+0

谢谢您的回答,我对分贝侧不知道,但我想从Java – user3256309

+0

阿处理它,误读为“替代_to_的Java”。你有证书可以直接连接到database2吗?您可以使用[CallableStatement](https://docs.oracle.com/javase/7/docs/api/java/sql/CallableStatement.html)。或者,你有没有听说过雅达? http://github.com/Novartis/YADA是JDBC数据源 – varontron

+0

的即时web-api否,即在客户机上,但我的存储过程位于Server1上,数据表位于Server2上。那么当应用程序被加载时会发生什么呢?所以我的目标是数据库1.我调用服务器1的存储过程,但在存储过程中的查询将从位于远程目标的服务器2中获取数据。所以正因为如此,我们得到了性能问题 – user3256309