0

私は SSIS 2012 パッケージに取り組んでいます。foreachfile ループ内には、この構成体のかなり標準的な変数である変数 "User::Filename" があります。ループ内の後のステップで、ファイルをアーカイブ ディレクトリに移動します。それから改名したいと思います。"Destination" プロパティを新しい名前にマップします。これは、"" + "YYYYMMDDHHMMSS" + @[User::Filename] という形式です。

設計時に「式の評価」を押すと、もちろん、ファイル名がnullであることを除いて機能するため、表示されません。 また、「遅延検証」をtrueに設定しました。

パッケージを実行すると、ソース ファイルまたは宛先ファイルが見つからないため失敗します (ソース セットは同じ方法で設定されています... + @[User::Filename]。) エラー メッセージでは、まったく同じように表示されます。設計時に「式の評価」を押したときに取得した文字列。

ファイル名が表示されないのはなぜですか?

4

1 に答える 1

0

このコードを使用して、ループ コンテナーにスクリプト タスクを配置します。

public void Main()
{
        bool success = false;
        string fName = Dts.Variables["User::Filename"].Value.ToString();
        Dts.Events.FireInformation(1, "File Loop", fName, "", 0, ref success);

        Dts.TaskResult = (int)ScriptResults.Success;
}

次に、印刷されたリストの出力ウィンドウを調べます。

于 2013-12-14T22:47:07.883 に答える