1

SQL と Spoon PDI を使用してデータ比較/検証スクリプトを作成しています。2 つのサーバー間でデータを移動しており、すべてのデータを取得していることを確認するために、SQL クエリで日付と転送された行数を表示しています。

例:
Serv1: 20150522 | 100
サーブ2: 20150522 | 100

次に、スクリプトはこれらの値を統合しようとします。失敗した場合は、失敗の電子メールを受け取ります。ただし、この設定を変更して結果をテキスト ファイルに書き込み、そのテキスト ファイルに基づいて合格または不合格のメールを送信します。

この背後にある考え方は、比較するテーブルが複数あるため、各比較 (8 つ) のすべての結果をテキスト ファイルに書き込み、最終的なテキスト ファイルに基づいて結果を送信することです。複数のステップが失敗した場合。

必要なテキスト ファイルの形式は、一致 -> メールの送信または不一致 [ステップ名] [日付] -> メールの送信のいずれかです。

通常、最初に何も試していない場合は質問しませんが、Google であらゆる場所を検索し、現在持っている知識を試してみましたが、何も思い通りに進んでいません。これは、私が使用しているロジックによるものだと思います。

私はこれに対する解決策を求めているわけでも、誰かが私に代わって解決してくれるよう求めているわけでもありません。私は単に正しい道に沿ったガイダンスを求めているだけです。

4

1 に答える 1

0

各ステップの結果がcomparison_nameresultである各ユニオンのステップがある変換でこれを行います。これにより、最終的に次のようなデータセットが得られます。

比較名 | 結果


ユニオンA | 真実

ユニオンB | 間違い

ユニオンC | 真実


その後、別のステップでこれらの結果をテキスト ファイルに出力して、ジョブが成功したか失敗したかに関係なく、結果ファイルを送信できます。

最後に、ストリーム内の結果行をループし、すべてが true の場合は「合格」メールを送信するメール ステップを実行し、1 つが false の場合は「失敗」メールを送信します。

編集:

合格または不合格の日付を取得するには、次のようにクエリに追加することで、個々のユニオン クエリの結果から日付を取得できます。

SELECT CURRENT_DATE

または、現在の日付をデータ ストリームに挿入する方法が複数あるスプーンでGet System Infoステップを使用することもできます。(システムの固定日付、変換の開始日付範囲、今日の 00:00:00 など)

于 2015-05-27T21:13:23.107 に答える