У меня есть пакет, который отлично работает на моей машине разработчика, но в процессе производства Config перестает работать. Я использую конфигурацию таблицы SQL Server, чтобы извлечь значение из таблицы и заполнить переменную. Строка подключения к моей базе данных передается во время выполнения, поэтому об этом следует позаботиться в производственной среде. Ошибок нет, но значение не извлекается, и переменная остается пустой (на самом деле это путь, поэтому я получаю файл, который не найден, поскольку путь пуст).
Пакет отлично работает на моей машине. Если я запустил пакет, он, как и ожидалось, получит правильный путь из таблицы. Почему перестает работать без ошибок в проде - загадка.
Любые идеи?
Проблема оказалась очень специфичной для того, как мы выполняем все пакеты на нашем сайте. Мы используем службу среднего уровня для выполнения пакетов, и при этом она передает несколько переменных, одна из которых является строкой подключения к базе данных, с которой общается пакет.
Проблема заключалась просто в том, что при открытии пакета ОЧЕНЬ ПЕРВОЕ, что он сделал, - это попытка настроить себя (до того, как были установлены переданные переменные). Поэтому он попытался запустить конфигурации пакета до того, как у него была строка подключения, необходимая для получения данных из таблицы SQL. Конфигурация потерпела неудачу, и пакет затем установил переменные, которые были переданы и продолжены с выполнением. Только потерпеть неудачу, потому что конфигурация не обновила важный путь в другой переменной.
Чтобы решить эту проблему, нам пришлось полностью удалить конфигурацию пакета для этих пакетов и заменить ее задачей SQL в качестве шага 1 в пакете, который вручную запрашивает таблицу конфигурации SSIS и заполняет переменные. Еще не проверено, но мы уверены, что это решит эту проблему.
Благодаря предыдущему предложению плакатов запустить трассировку, поскольку трассировка подтвердила отсутствие активности в таблице конфигурации SSIS, что означало, что процесс настройки не запущен, и, скорее всего, причина заключалась в невозможности подключения.
Рекомендую выполнять трассировку во время выполнения пакета в PROD. Подтвердите свои успешные подключения и переданный sql.
Если вы все еще застряли, опубликуйте результаты трассировки, и мы перейдем к следующему шагу.