0

私は6つの送信ポートを持っています.......データを6つのテーブルすべてに配置し終えたら...

1つのテーブルから1つのデータを取得し、他の5つのテーブルすべてで更新したい.....

そのためのストアドプロシージャを作成しました...

しかし、私はそれがそのプロセスを完了したときにのみそれをやりたいです.....

とにかくそのためにあります。

すべてのテーブルにデータを配置し終えたら、ストアドプロシージャを実行したいのですが...

そのため、送信ポートが挿入ステートメントで実行されていることを確認する方法.....これでストアドプロシージャを実行できます...

その大きなファイル..データをデータベースに入れるのに約2時間かかります...しかし、私はプロセスを自動化したいです...

4

2 に答える 2

1

おそらく必要なのは、このプロセスを処理するための単純なオーケストレーションです。

オーケストレーションは、受信ファイルを受信して​​アクティブ化し、それをすべての送信ポートに送信できます。次に、各ポートの応答を待ちます。すべての応答が受信されたら、先に進み、最後の SP を起動して、最後のテーブルを読み取って更新できます。

于 2012-05-10T05:35:18.530 に答える
0

考えられる解決策は 2 つあります。

1. シンプルでやや複雑なアプローチ:

「データ挿入」オーケストレーションは、Parallel Actions シェイプ (6 つの個別のアクション) を使用して、挿入グラムを問題のデータベース (または単一の複合挿入グラム - ただし、並列処理についてはコメントできません) に送信します。各挿入アクションが完了すると、後続の順次アクションによってコントロール テーブルが更新され、データが「正常に挿入された」とマークされます。

個別のオーケストレーションがコントロール テーブルをポーリングし、「正常に挿入された」レコードが挿入されるのを待ちます。6 つになったら、ストアド プロシージャを呼び出します。

2. 複雑でエレガントなアプローチ:

分散と収集のパターン (Google の「BizTalk Scatter Gather Pattern」) を使用し、データが挿入されるとマスター オーケストレーションが応答を受信します (これにより、真の並列処理が得られます)。すべての分散オーケストレーションが完了したら、ストアド プロシージャを呼び出します。

于 2012-08-31T10:39:26.403 に答える