私たちのバッチ プロジェクトでは、シェル スクリプトを実行し、それが次に Web サービスを呼び出します。私たちの要件は、DB 2 データベースで選択クエリを実行し、たとえば 1000 の A_TYPE アカウントを取得することです。次に、これらのアカウントを使用してリストを取得する必要があります。 ORACLE DB からの準備済みステートメントで A_TYPE アカウントを使用することによる、他のアカウント (A_TYPE、B_TYPE 列) の。
問題は、1000 個の A_TYPE アカウントごとに、ステートメントを 1000 回準備し、それを 1000 回実行して B_TYPE アカウントを取得する必要があることです。時間がかかり、あまり効率的ではありません。
したがって、誰かが A_TYPE アカウントのリストまたは配列を渡し、A_TYPE、B_TYPE アカウントのリストまたはハッシュマップを取得して、それらをさらに使用できるようにする方法を提案できれば、非常に役に立ちます。また、A_TYPE アカウントの代わりに B_TYPE アカウントを使用して Db2 DB を更新する必要があります。私のロジックはすべて、Web サービス操作 (JAVA) 自体に記述されています。
アップデート:
はい、JNDI 名を使用して DB に直接アクセスしています。Web サービス ハンドラー ロジックでは、両方の DB を呼び出します。JNDI 名を使用してアクセスするため、使用されている DB2 のバージョンはわかりません。Oracle は 10 gi のようなクエリを持っています。
SELECT A_TYPE account from ADB2 TABLE based on conditions (?,?) FETCH 1000 records only"` and `SELECT A_TYPE_Account,B_TYPE_Account from ORACLE_TABLE where A_TYPE_Account='?(A_TYPE)'
いいえ、トランザクションについて心配する必要はありません。ホスト変数と DB2 動的クエリについてはわかりません。