2016-09-29 6 views
-1

私は、Oracleの2つのデータベースがそれぞれ異なるサーバー上にあります。java - ストアドプロシージャdbリンク

私はWebサービスを呼び出すときにデータベース1に接続し、リモートサーバー上のデータベース2からデータを取得します。リモートサーバからデータを取得するためにDBリンクを使用し、Webサービスの実装ではSpringを使用しました。しかし、DBリンクのためにパフォーマンスの問題が発生しています。

他のサーバーからデータを取得し、サーバー2からストアドプロシージャを呼び出すためにJava側からオプションまたは代替がありますか?

答えて

1

DatabaseLinkのマテリアライズド・ビューを使用して、DatabaseLinkにDBLinkを介してデータを格納できます。これにより、ライブのDBLinkクエリによる偶発的なパフォーマンスの問題はなくなりますが、matviewの更新間にデータレイテンシの問題が発生します。

ドキュメント:あなたの答えのためのOracle Materialized Views

+0

おかげで、私は、DB側は考えているが、私は、Javaの – user3256309

+0

ああからそれを扱う「_to_ javaの選択肢」として、それを読み違えるのが好き。 database2に直接接続するための資格がありますか? [CallableStatement](https://docs.oracle.com/javase/7/docs/api/java/sql/CallableStatement.html)を使用できます。あるいは、YADAについて聞いたことがありますか? http://github.com/Novartis/YADAはJDBCデータソース – varontron

+0

のためのインスタントWeb-APIです。クライアントのマシンにありますが、ストアドプロシージャはServer1にあり、データテーブルはServer2にあります。アプリケーションがロードされると、バネがデータベース接続を作成します。私はデータベース1をターゲットにしています。私はサーバー1のストアドプロシージャを呼び出していますが、ストアドプロシージャ内のクエリはリモートデスティネーションにあるサーバー2からデータをフェッチします。このため、私たちは性能問題 – user3256309

関連する問題