条件に基づいて条件付き分割結果を(1つのint値だけ)変数に渡す必要がある条件があります。これを行う方法を手助けできる人がいますか?SSIS:条件付き分割結果を変数
私の実際のパッケージ(データフロー):
XML Source
- >Conditional split
(条件に基づく)の条件に基づいて2 outputs..one結果(一つだけint型の値になります)それを渡すために必要変数へ。これを達成する方法は?
条件に基づいて条件付き分割結果を(1つのint値だけ)変数に渡す必要がある条件があります。これを行う方法を手助けできる人がいますか?SSIS:条件付き分割結果を変数
私の実際のパッケージ(データフロー):
XML Source
- >Conditional split
(条件に基づく)の条件に基づいて2 outputs..one結果(一つだけint型の値になります)それを渡すために必要変数へ。これを達成する方法は?
純粋なSSIS方法 - データフローをRecordset Destinationに消費してから、ForEach Loopで反復処理し、目的の変数に値を割り当てます。
私はこれを実現する2つの方法を知っています。
まず、C#スクリプトコンポーネントを使用してください。これが最も簡単な方法です。 「
Dts.Variables["yourvariable"].Value = Input0Buffer.Yourcolumn
私は今SSISへのアクセスを持っていないので、私は次のことができます。 ちょうどそのコード内でそのように設定し、「読み書き」としてあなたの変数を選択し、あなたの条件付きスプリットの後ろにスクリプトコンポーネントを置きますあなたに正確なコードを教えてください。しかし、これはあなたを始めるはずです。
2番目:テーブルに書き込んで、SQLの実行タスクで読み込みます。私はあなたがこれを達成するために、スクリプトコンポーネントを使用する必要が本当にこのよう;-)
好きではない:
ReadWrite
変数として、あなたの変数を選択してください。 (私の例ではを変数の名前は結果書く次のコード
Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)
If Not Row.inColumn_IsNull Then
Variables.Result = Row.inColumn
End If
End Sub
側注:変数値はchではない新しい値を使用するには、別の作業を続行する必要がありますdataflowtask
私の条件付き分割は常に単一の結果を与えるので、繰り返しは必要ありません。私のここでのポイントはSSISには新鮮です。条件付き分割結果を変数に代入する方法はわかりません。 –
@narendragcでは、ForEach Loop定義で、0番目の列の値を目的の変数に割り当て、Loopシーケンスを空のままにすることができます。したがって、ループは唯一の欠点で変数を設定します。変数は行コレクションの最後の値を格納します。行が1つしかない場合は、問題はありません。 – Ferdipux