2

SSIS パッケージを実行していて、実行時に必要な変数の値を設定したいと考えています。ここに例があります

variable1= 1145554478 nvarchar(30)

文字列に文字を追加しているので、nvarchar を使用しています。

variable2= [ + variable1 + _S] 

variable1variable2はパッケージ変数です。

実行時に変数に値を設定する方法を探しました。やっぱりSQL Task Editorでできそうです。それで、私はそれを作成しました。variable1を入力値として設定し、ResultSet単一の行に設定し、それを variable2 に設定します。

次に、私が書いたコードで

set Variable2 = '[' + ? + '_S]'

うまくいきません、ここにエラーがあります

エラー: SQL 実行タスク、SQL 実行タスクでの 0xC002F210: クエリ "set Variable2 = '[' + ? + '_S]'" の実行が次のエラーで失敗しました: "行 1: '=' 付近の構文が正しくありません。". 考えられる失敗の理由: クエリの問題、「ResultSet」プロパティが正しく設定されていない、パラメーターが正しく設定されていない、または接続が正しく確立されていない。タスクが失敗しました: SQL タスクを実行します。

SQL タスク エディターは、実行時に変数を設定する最良の方法ですか?

タスク エディターで記述したコードは間違っていると思います。そこにあるコードは、定期的に使用される通常の SQL と常に同じであるとは限らないからです。

4

3 に答える 3

3

別の変数の値に基づいて、実行時に変数の値を操作する方法を次に示します。サンプルでは SSIS 2008 R2 を使用していますが、機能はすべての SSIS バージョンで同じです。

  • 新しい SSIS パッケージを作成します。

  • パッケージの任意の場所を右クリックVariablesし、コンテキスト メニューから選択します。変数ペインが表示されます。

  • [変数]Variable1ペインで、とVariable2データ型の2 つの新しい変数を作成しますString

  • Variable1Test_Valueを設定しましょう。

    変数

  • 2 番目の変数 Variable2 を選択し、F4 を押して [プロパティ] ペインを表示します。

  • プロパティ ペインで、プロパティEvaluateAsExpressionTrueに変更します。

  • 次に、プロパティの省略記号ボタンをクリックしExpressionます。

    Variable2 のプロパティ

  • "[" + @[User::Variable1] + "_S]"[式ビルダー] ダイアログで、式をExpressionテキスト領域に貼り付けます。

  • Evaluate Expression ボタンをクリックすると、Variable2 が評価される値が表示されます。実行時に、変数Variable2は式を使用して存在する値に自動的に評価されますVariable1

  • Expression Builder では、より複雑な式を作成することもできます。このリンクをクリックすると、別の式の例が表示されます。

それが役立つことを願っています。

式ビルダー

于 2012-04-13T15:30:11.103 に答える
3

SQL ステートメントで SSIS 変数の値を設定することはできませんが、値を RETURN して変数に割り当てます。

ステートメントを次のように変更します

SELECT '[' + ? + '_S]'

結果セットを「単一行」に変更し、左側の「結果セット」の下に、結果名が 0 の変数を追加します。

于 2012-04-13T14:37:00.750 に答える
2

最も簡単な方法は、(通常)スクリプトタスクを作成し、C#またはVBでコードを記述することです。

于 2012-04-13T14:31:59.053 に答える