Задача сценария C# Сообщение об ошибке Try-Catch в таблицу SQL - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть задача 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]+"';"
...