Выполнение пакета ssis завершается успешно, но не выполняется через код С#

У меня есть следующий код, который, кажется, работает нормально для выполнения пакета SSIS из С#, НО каждый раз, когда переменная «Resp» возвращает ошибку, даже если пакет проходит, когда я выполняю его непосредственно в SSIS.

Опять же, пакет содержит компонент Script, который записывает данные в таблицу SQL-сервера. Все это работает нормально, когда пакет выполняется непосредственно в SSIS, но ничего не происходит, когда тот же пакет вызывается через C# с кодом ниже. Я не могу понять, что я делаю неправильно. помощь!

string packageLocation = @"c:\packageLocationPath";
Package pkg;
Application app;
app = new Application();
pkg = app.LoadPackage(packageLocation, null);
var Resp = pkg.Execute();

person ibexy    schedule 11.02.2020    source источник


Ответы (1)


Обнаружение ошибки

Сначала вы должны прочитать ошибки, вызванные пакетом. Есть два варианта обнаружения этих ошибок:

(1) цикл по ошибкам

Вы можете перебрать ошибки пакета, обратившись к свойству Errors. Например:

if(p.Errors.Count > 0){
    foreach(DtsError err in p.Errors){
        Messagebox.Show(err.Description);
    }
}

Дополнительная информация по адресу:

(2) Включить ведение журнала из пакета

Вы можете зафиксировать все ошибки, предупреждения и информацию из пакета, включив опцию ведения журнала:


Возможные причины отказа

  1. Убедитесь, что если вы используете проверку подлинности Windows для подключения к SQL, что учетная запись пользователя, используемая для выполнения приложения через C#, предоставлена ​​​​для установления подключения.
  2. Если пакет обращается к файловой системе, убедитесь, что у пользователя есть необходимые разрешения для доступа к этим файлам.
person Hadi    schedule 11.02.2020
comment
Большое спасибо за то, что указали мне правильное направление. Применив код в вашем ответе, я смог увидеть проблемы с подключением к одному из источников. Код не смог найти диспетчер соединений! Это немного сбивает с толку, как те же проблемы не мешают запуску пакета при выполнении непосредственно в ssis. Я отмечу ваше решение как принятое! - person ibexy; 12.02.2020