0

基本的に、いくつかのテーブル値に基づいて REPLACE 関数を動的に書き込む Execute SQL ステートメントを含む SSIS pkg です。(つまり、REPLACE(REPLACE(Col1," * ","",),"@@@","")

ExecuteSQL の結果は変数 @Cleanse に入れられます

私の派生列変換では、@User::Cleanse を式として呼び出して、DataFlow の Col1 の値を置き換えようとしています。

結果は @Cleanse の結果を取得し、REPLACE 関数として適用するのではなく、文字列値として使用しているようです。

@Cleanse 値をデバッグすると、文字列に \ が挿入されているように見えますが、問題なく他の値にこれを適用しているように見えるので、これは問題ではないと思います

その結果、CSV を実行すると、これが表示されます

"REPLACE(REPLACE(Col1" in Col1)

Col2 の" * "

)Col3などで

変数を文字列値ではなく関数として「見る」ように派生列変換を取得するにはどうすればよいですか?

よろしくお願いします

4

1 に答える 1

1

EvaluateAsExpression変数のプロパティを に設定しますTrue

ただし、[SQL 実行] タスクのペインを使用して変数をパラメータとして SQL クエリにバインドVariable Mappingsする方が適切な解決策になる場合があります。

于 2012-07-12T08:45:33.063 に答える