none
SSIS(Integration Services)における処理件数の取得方法 RRS feed

  • 質問

  • SQLServer,SSIS共に初心者です。

    SSISでデータフロータスクをデザイン、デバッグ実行させると、
    GUIで処理されたフローが緑色へと変化します。
    また、データを更新、追加した場合などは、その件数が表示されます。
    このデータの件数(影響を受けたレコード件数)を取得し、
    「メール送信タスク」などに引用したいのですが、どのように実現したら
    よいでしょうか?


    取得できるシステム変数などがあるのでしょうか?ざっくりヘルプを見たところ
    それらしい記述が見つかりませんでした。
    ご存知の方がいらっしゃいましたらアドバイスよろしくお願いします。

     

     

    2007年4月12日 14:39

回答

  • Archicle文面しか見てないので動作確認は行ってませんが、多分以下のKBが

    該当するかと思われます。(KB906560)

     

    ## How to write information to the Application event log by using a Script task in a SQL Server 2005 Integration Services package

    # http://support.microsoft.com/default.aspx?scid=kb;en-us;906560

     

    メール送信タスク自体使用したことは無いですが、上記を見る限りDts内変数に処理件数が記録されて

    いるので、メール処理時に参照が可能かと思われます。

     

    2007年4月12日 23:37

すべての返信

  • Archicle文面しか見てないので動作確認は行ってませんが、多分以下のKBが

    該当するかと思われます。(KB906560)

     

    ## How to write information to the Application event log by using a Script task in a SQL Server 2005 Integration Services package

    # http://support.microsoft.com/default.aspx?scid=kb;en-us;906560

     

    メール送信タスク自体使用したことは無いですが、上記を見る限りDts内変数に処理件数が記録されて

    いるので、メール処理時に参照が可能かと思われます。

     

    2007年4月12日 23:37
  • st.lainさん。リンクして頂いたページを拝見しました。
    やりたかったことが実現できました。ありがとうございます。


    データフロータスクで、データ転送元と、データ転送先の
    フローの間に「行数」タスクをはさみ、行数値を、package
    スコープの変数に代入するといった方法で実現できました。


    制御フローでタスクの最後に、

    ・行数値を格納した変数を利用し、影響を受けた件数を通知する
     メール本文を作成(変数に格納)するスクリプトタスクを実行

    ・メール送信タスクのメール本文を変数から作成するように
     指定

    を追加し、動的に更新件数をメールするジョブを作成しました。

     

     

    2007年4月13日 13:32
  • ごんきち様、データフロー変換の「行数」タスクの使い方について、参考に伺ってもよろしいでしょうか。
    ネットで調べたのですが、まだ、有用な情報が見つからないのです。

     

    変換元(DataReaderソース また OLEDBソース)と変換先(SQL Server変換先)の間に、「行数」を置いてみたのですが、変数に行数の値が、セットされません。
    「行数」の詳細エディタで、「VariableName」へ変数を指定しているだけなのですが、そもそも、これだけで、よいのかどうか・・・・

    「入力列」、「入力プロパティと出力プロパティ」のタブで、何か設定しようとすると”~使用が禁止されている”というエラーメッセージが表示されます。

    教えて頂けると有難いです。

    2007年4月15日 4:10
  •  fjdsskl さんからの引用

    「行数」の詳細エディタで、「VariableName」へ変数を指定しているだけなのですが、そもそも、これだけで、よいのかどうか・・・・



    はい。特に難しいことはしていません。
    変換元と変換先の間に「行数」タスクをはさみ、「VariableName」へ変数を指定しただけです。
    入出力関係の設定は特に何もしていません。

    変数のスコープは「package」レベルです。


    2007年4月15日 13:28
  • ごんきち様、出来ました。有難うございます。
    変数にセットされた値の確認方法がよくなかったようです。
    「行数」の下に派生列を置き、変数を追加列にセットし、その後、変換先の
    適当な列にそれを代入して変換先のテーブルで確認していました。
    その場合、変数の初期値がセットされてしまいます(不明ですが)。

    2007年4月16日 11:04