2016-05-31 7 views
0

私はSSISを初めてお使いになり、下記の私の問題について助けてくれてありがとうございます。 私は入力を一切受けず、一時テーブルを返すストアドプロシージャを持っています。これはデータの検証に使用され、毎日実行されるので、私は同じためにSSISパッケージを作成する必要があります(要件はそうです)。私は、Object型の変数に結果を設定したところでExecute SQLタスクを作成しましたが、rowcount> 1をチェックする条件を追加したい場合は、それをExcelファイルに書き込みます。行数のための変数int型を宣言 - アプローチ:ビジュアルスタジオ2012のSSISからsprocを呼び出す

おかげで、 Hiral

答えて

0

回答は、あなたがSSIS 2012+であると仮定すると、SSIS 2012+または2008 を使用しているかどうかによって異なります。 Foreachループで受け取ったObject変数を処理します。詳細とスクリーンショットはthis articleにあります。内部ループ - インクリメント変数。そして、あなたはROWCOUNT変数の値に基づいて条件付き実行を行うことができます> 0 代替 - だけでなくSSIS 2008の有効な:結果セットと

  1. オブジェクトは、.NETデータセット以外の何ものでもありません。データセットの最初のテーブルの行数をカウントし、これを変数に格納するスクリプトタスクを作成します。上記のようにパッケージ内でこの変数を使用します。
  2. SP実行にSQLスクリプトを実行タスクを使用する代わりに、OLE DBソースでDataFlowを使用し、ストアドプロシージャをデータソースとして指定します。その後は、前の手順で作成した一時テーブルにアクセスできるようにすることなどを変数
+0

はい私はSSIS 2012を使用しており、あなたの答えが助けになりました!どうもありがとうございます –

0

変更プロパティRetainsameconnection =接続マネージャのための真の

に店舗値、結果の行をカウントすることができます。

0

作成を別の手順で行う場合は、代わりにグローバル・テンポラリ・テーブルを使用できます。しかし、これは誰もが/すべてのプロセスにアクセスできるような独自の問題を伴います。

関連する問題