Сценарий SSIS C# Задача сценария для добавления текущей даты в файл с помощью переменной - PullRequest
0 голосов
/ 05 мая 2020

У меня есть этот скрипт для добавления месяца текущего года в файл в каталоге. Он отлично работает с путем к каталогу, но я хочу изменить патч каталога для переменной, потому что каждый месяц он будет находиться в другой папке. У меня уже есть переменная с каталогом, который нужно использовать. Но я не знаю, как это сделать, использовать переменную вместо каталога

    public void Main()
    {
        // TODO: Add your code here

        // const string DIRECTORY_PATH = @"C:\Temp\Results"; //with this works perfect
        const string DIRECTORY_PATH =    @"@v_ResultsExcel"; //I want to use this variable

        const string FILE_NAME_TEMPLATE = "YYYY-MM";

        string previousYearMonthDate = DateTime.Now.AddYears(0).AddMonths(0).ToString("yyyy-MM");

        if (Directory.Exists(DIRECTORY_PATH))
            {
            string[] filePathList = Directory.GetFiles(DIRECTORY_PATH);

            foreach (string filepath in filePathList)
            {
                if (File.Exists(filepath))
                {
                    File.Move(filepath, filepath.Replace(FILE_NAME_TEMPLATE, previousYearMonthDate));
                }
            }
            }
        Dts.TaskResult = (int)ScriptResults.Success;
    }

1 Ответ

1 голос
/ 06 мая 2020

Создайте переменную в своем пакете SSIS. В задаче сценария ReadOnlyVariables выберите User :: varDir. C# код вызывает переменную только для чтения. Вы можете написать выражение для этой переменной, чтобы каждый месяц указывать на соответствующий каталог.

const string DIRECTORY_PATH =  Dts.Variables["User::varDir"].Value.ToString();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...