У меня есть задача Script внутри foreach l oop в пакете служб SSIS, задача скрипта создает папку и копирует файл. Мои Directory.CreateDirectory
и File.Copy
находятся внутри Try, а исключение находится внутри Catch.
Мой пакет должен скопировать все файлы и затем обновить некоторые столбцы в таблице с текущей датой, путем к файлу, статусом и сообщение об ошибке. Если файл не может быть найден, пакет должен продолжить работу и обновить таблицу с сообщением об исключении. Следующий код показывает исключение перехвата, моя переменная SSIS ErrorDescription
должна обновить столбец ErrorDescription
в таблице, но если файл не может быть найден, вся строка не обновляется, просто обновите следующую строку, когда файл скопировано. Моя главная цель - найти решение для обновления столбца ErrorDescription с сообщением об исключении. Может ли кто-нибудь помочь или предложить какие-нибудь идеи для меня, пожалуйста?
Dts.Variables["User::ErrorDescription"].Value = "";
try
{
//Code here works fine
Dts.TaskResult = (int)ScriptResults.Success;
}
catch (Exception e)
{
Dts.Variables["User::ErrorDescription"].Value = e.Message.ToString();
MessageBox.Show(e.Message);
Dts.TaskResult = (int)ScriptResults.Failure;
}
Мой SQL Запрос выглядит примерно так:
"Update [Records]
Set [CurrentDate] = '"+(DT_WSTR, 250) @[User::CurrentDate]+"',
[FilePath] = '"+@[User::FilePath]+"',
[Status] = '"+@[User::Status]+"',
[ErrorDescription] = '"+ @[User::ErrorDescription]+"'
Where [ID] = '"+(DT_WSTR, 25)@[User::ID]+"';"