DTExec: выполнение пакета вернуло DTSER_FAILURE (1) при выполнении пакета служб SSIS

У меня есть этот вопрос в рамках проекта в ssis. Мне пришлось разделить оригинальный проект на разные пакеты, потому что это было слишком много, и иногда это могло спровоцировать некоторые проблемы с памятью. Итак, чтобы связать разные пакеты, я использую "Выполнить задачу пакета", чтобы ссылаться друг на друга. Если я выполняю пакет напрямую из служб SSIS, он работает отлично, проблем нет. Но если я использую планировщик для программирования времени выполнения, я получаю следующее сообщение об ошибке:

Ошибка: 2015-09-22 14:54:37.98 Код: 0xC00220E6 Источник: Выполнить пакет Описание задачи: Нет проекта для ссылки. Ошибка завершения: 2015-09-22 14:54:37.99 Код: 0xC0024107 Источник: Выполнить пакет Описание задачи: Во время проверки задачи возникли ошибки. Ошибка завершения DTExec: выполнение пакета вернуло DTSER_FAILURE (1).

Интересно, что может происходить с проектом и его исполнением.

С уважением

1 ответ

Я не уверен, какой планировщик вы используете или как он настроен, но вы можете отладить свой путь через это, имитируя планировщик с помощью DTExec. Похоже, вы пересекли Setup а также Execution Method (см. ниже для этих определений).

Вот краткое изложение.

  1. Вариант 1. Для установки используйте Project References а для метода выполнения используйте Project/Package,
  2. Вариант 2. Для установки, для каждого дочернего пакета, используйте External References и для метода выполнения используйте File,

(Похоже, вы используете комбинацию Project References а также Fileкоторый в свою очередь отправляет There is no project to reference ошибка от дочерних пакетов.)

Опция 1

Настроить

Откройте родительский пакет в SSDT, а затем дважды щелкните дочерний пакет. Это должно выглядеть так: Ссылка на проект

Метод исполнения

Этот параметр означает, что вам нужно выполнить пакет с помощью метода Project/Package через DTExec. Итак, создайте свой проект - это создаст файл ispac. И чтобы выполнить через dtexec, это будет выглядеть так:

dtexec /Proj Path\To\MyProject.ispac /Pack Path\To\The\ParentPackage.dtsx

Примечание: если вы укажете dtsproj файл вместо ispac файл в /Proj параметр, вы получите File contains corrupted data ошибка!

Вариант 2

Настроить

Откройте родительский пакет в SSDT, а затем дважды щелкните дочерний пакет. Измените это, чтобы выглядеть так: Внешняя ссылка

Это сделано
1. Изменение типа ссылки на внешнюю ссылку
2. Изменение расположения на файловую систему (SQL Server - это еще один вариант)
3. Выберите <New connection...> создать новое файловое соединение для запуска дочернего пакета (или соединение с сервером SQL)

Метод исполнения

Этот параметр означает, что теперь вы можете использовать метод File, который, вероятно, является способом, которым вы пытаетесь выполнить пакет.

dtexec /f Path\To\My\ParentPackage.dtsx

Другие вопросы по тегам