Использование переменной для обработки всех файлов * .xml с помощью SSIS

Я новичок в пакете SSIS, поэтому любая помощь будет очень признательна. Код SSIS был создан с использованием VS2005 и его настройки в качестве задания агента SQL в SQL Server 2005. Теперь, когда мы переходим на SQL-сервер 2016, мы видим, что та же работа агента SQL не выполняется. Поэтому мы решили пересобрать пакет с помощью VS2012, чтобы посмотреть, решит ли это проблему.

Процессы, выполняемые на вкладке «Поток управления»:  введите описание изображения здесь

Задача потока данных:  введите описание изображения здесь

Используемые переменные:  введите описание изображения здесь

мы использовали ForEachLoop:  введите описание изображения здесь

Ошибки отображаются в задаче потока данных:  введите описание изображения здесь

введите описание изображения здесь

Мы по-прежнему не можем понять, что вызывает проблему, мы также рассмотрели полный пошаговый процесс, указанный в приведенной ниже ссылке.

Щелкните здесь!

Если потребуется дополнительная информация, я тоже могу ее предоставить !!

Ошибка редактора исходного кода XML:  введите описание изображения здесь

Расширенный редактор исходного кода XML:  введите описание изображения здесь

Вкладка "Компоненты источника XML":  введите описание изображения здесь

Вкладка "Диспетчер соединений с источником XML":  введите описание изображения здесь


person Joby    schedule 06.02.2017    source источник


Ответы (1)


  1. Я бы предпочел использовать VS 2015 для пакетов, ориентированных на SSIS 2016.
  2. Ваша ошибка возникает из-за задачи DataFlow - Источник XML. На этапе проверки, который происходит при сохранении пакета, источник XML пытается открыть файл XML, используя значение переменной sXMLfilename; значение sXMLfilename в этот момент в VS является значением переменной по умолчанию. Следовательно, проверка в Visual Studio не выполняется, и вы видите сообщения об ошибках.
    Чтобы пройти проверку, источник XML должен иметь возможность открывать как XML, так и XSD-файл. Проверьте наличие этих файлов на станции разработчика, при необходимости перенесите файлы со старого сервера. Для файла XML вы можете использовать любой допустимый входной файл XML, схема XSD должна соответствовать ему. Укажите действительный путь к XML-файлу в качестве значения по умолчанию для переменной sXMLfilename.
person Ferdipux    schedule 06.02.2017
comment
XML-файлы и XSD помещаются в место, указанное в пакете SSIS, также ReadOnly не регистрируется. Проблема все еще сохраняется, что-то еще, что может быть причиной проблемы? - person Joby; 06.02.2017
comment
@Joby, попробуйте открыть исходный код XML и нажмите ОК, или в расширенном редакторе нажмите кнопку «Обновить». Если ошибка повторится - выложите скриншоты XML Source Editor. - person Ferdipux; 06.02.2017
comment
Я добавил скриншоты как из обычного редактора, так и из расширенного редактора, не могли бы вы взглянуть. - person Joby; 06.02.2017
comment
@Joby, спасибо за скриншот. К сожалению, это не тот вариант, который не дает понимания. Пожалуйста, опубликуйте - откройте редактор исходного кода XML и опубликуйте окно диспетчера подключений (первое), откройте расширенный редактор XML Src и покажите вкладку «Свойства компонента». - person Ferdipux; 06.02.2017
comment
Привет @Ferdipux, добавили новые скриншоты, надеюсь, на этот раз я добавил их правильно :) - person Joby; 07.02.2017
comment
@Joby, на этот раз все в порядке. На экране переменных ваша переменная sXMLFileName имеет значение по умолчанию filename. Ваш источник XML в событии проверки (которое срабатывает при сохранении пакета в VS) пытается загрузить файл, указанный в этой переменной. Обратите внимание - это происходит не во время выполнения, а когда VS сохраняет пакет; в этот момент переменная инициализируется значением по умолчанию. Способ исправления - отрегулируйте значение sXMLFileName по умолчанию, чтобы оно указывало на действительный файл XML. - person Ferdipux; 07.02.2017
comment
Можем ли мы оставить поле sXMLFileName пустым, чтобы получить все файлы XML. Поскольку мы, файлы, размещенные в пути, не следуют соглашению об именах. Мы ожидаем обработать все файлы с расширением * .XML. - person Joby; 07.02.2017
comment
Позвольте нам продолжить это обсуждение в чате. - person Ferdipux; 07.02.2017
comment
Спасибо, что пакет SSIS теперь работает нормально, также Job также успешно выполняет пакет. Просто добавление изменения, которое было сделано по совету Ferdipux. Установите для свойства Delay Validation значение True. - person Joby; 10.02.2017