2016-09-29 88 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