2015-02-10 2 views
0

У меня есть задача SSIS, которая работает нормально, по крайней мере, последние 2 года. ИТ переместил задачи на новый сервер, и теперь он выбрасывает «Имя переменной« User :: obEmailBody »не может быть найдено в списке переменных».Переменная SSIS не может быть найдена в списке переменных

Я скопировал задачу обратно на рабочий стол, и все прошло отлично. Он только терпит неудачу на сервере. Я проверил, что переменная есть и заполняется в моей тестовой среде (локальный рабочий стол). Я в недоумении, почему он терпит неудачу на сервере. Эта переменная является объектом system.object.

Есть ли настройка на сервере, которая предотвратила бы создание переменной system.object?

+0

Нет, нет установки сервера, которая повлияет на создание переменной. Измените свой вопрос, чтобы показать некоторые из выражений, если они существуют, переменные, конфигурация задачи электронной почты и т. Д. – billinkc

+0

На сервере существует ли переменная ???? Чтобы проверить, существует ли переменная в SSIS службы, перейдите в SSIS -> Variable, она отобразит список переменных ... –

+0

Эта переменная используется для хранения адресата набора записей. Я заполняю его в задаче потока данных, а затем читаю его в другой задаче потока данных с помощью перечислителя ADO Foreach. – FlyFish

ответ

0

В итоге я удалил задачу Destination Records и воссоздал.

1

Я недавно испытал этот тип проблемы с довольно простым и понятным пакетом, который считывал данные из таблицы Excel, очищал данные, переданные данными, хранимым в SQL-процедурах, которые нужно было запускать в ночное время. Этот пакет был выполнен как SQL-задание в кластерной среде SQL. После выхода на производство мы обнаружили, что один из узлов работал без проблем, в то время как другой узел дал нам ошибку «имя переменной« User :: oInternalUser »не было найдено в списке переменных». Единственная разница в этих узлах заключалась в том, что компоненты SSIS были установлены после того, как серверы были развернуты. После нескольких часов устранения этой проблемы мы решили открыть билет в Microsoft. После почти четырехчасового поиска неисправностей с двумя ресурсами нам были даны следующие рекомендации.

  • Обновление SQL 2012 до пакета обновления 3. Это должно устранить любые повреждения в компонентах SSIS.
  • Установите 64-разрядную версию Ace-накопителя и выполните пакет в 64-разрядном режиме.
  • Выполнить трассировку во времени. Меня предупредили о хите производительности, который произошел бы во время этого процесса, хотя это звучало многообещающе, степень хита производительности была неизвестна и не была хорошей идеей делать в производственной среде.

Решение, с которым мы пошли, состояло в том, чтобы перестроить сервер со всеми компонентами SSIS и установить 64-разрядную версию драйвера ACE для запуска пакета в 64-разрядном режиме. Это позволило решить наши проблемы. Мы сделали копию сервера, и эти два перестроенных сервера теперь охватывают наш кластер.

Смежные вопросы