1

ここで私は SSIS パッケージの開発の初心者です

解決策を見つけるためにあなたのサポートが必要です。

テキスト ファイルにエクスポートする必要があるストアド プロシージャのセットが 10 個あります。10 個のプロシージャはすべて同じ列セットを返します (呼び出しパラメーターのみが異なります)。

解決方法がわかりません。

ストアド プロシージャの出力からタブ区切りのテキスト ファイルにデータをエクスポートする方法を教えてください。

ssis パッケージのビルド方法を教えてください。

ありがとう

4

1 に答える 1

1

これは、各ステップに写真を入れずに行うのは非常に困難です。写真は載せられないようなので、出来るだけ詳しく書いてみます。

まず、ストアド プロシージャを実行するデータベースへの接続を設定する必要があります。これは、「新しい OLE DB 接続」用の接続マネージャーを作成することを意味します。この接続を作成するには、データベース情報への有効なログインが必要です。

コントロール領域では、「SQL 実行タスク」を設定します。結果セットを完全な結果セットに設定し、接続を前の手順で名前を付けたものに設定します。SQL タスクからストアド プロシージャを呼び出すには、「exec ? = dbo.usp_check_load_table_all @JobCode = ?, @TransId = ? , @Status = ?, @TurnStatusOff = ?」のようなものを使用します。最初 ?ストアド プロシージャからのリターン コードです。その他は、ストアド プロシージャを実行するためのパラメーターです。現在、10 個の異なるストアド プロシージャを実行しています。私は 1 つの実行方法しか知りませんが、10 個のパッケージを作成して、それぞれを実行し、完了時にファイルを連結することができます。パラメータ マッピングでは、実行する変数の値を設定します。戻りコードの USER::ReturnValue 型 long を必ず作成してください。結果セットには、オブジェクト タイプの USER::Results エントリが 1 つ必要です。

ここで、変数として USER::Results を入れる ADO 列挙子の foreach ループを入れます。これにより、各行を 1 つずつ読み取ることができます。変数マッピングが入るユーザー変数を作成する必要があります。

次に、データ フロー タスクを実行し、派生列タスクを配置して、foreach ループ用に作成した USER:: フィールドからファイルに書き込む各フィールドを設定します。

接続マネージャーでフラット ファイル接続をタブ区切りの区切りファイルとして作成します。ファイル内の各フィールドをマップする必要があるため、希望する出力のようなファイルが必要になります。

フラット ファイルの宛先を deriried 列タスクの下に追加し、作成したばかりのフラット ファイルにマップします。次に、各フィールドを出力にマップします。

私はかつて新しい SSIS だったので、これが役立つことを願っています。

于 2013-08-26T21:40:03.103 に答える