Ошибка подключения итерации сервера SSIS 2008 (проверка)

#sql-server #ssis #sql-server-2008-r2 #ssis-2008

#sql-сервер #ssis #sql-server-2008-r2 #ssis-2008

Вопрос:

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

Проблема, с которой я сталкиваюсь, связана с проверкой — я установил Delayed Validation = true все, что мне нужно, но всякий раз, когда какая-либо часть источника OLEDB изменяется (при этом соединение устанавливается динамически через foreach), он настаивает на повторной проверке соединения. Это означает, что каждый раз, когда изменяется код, я должен создавать новое соединение, а затем снова устанавливать выражения для сервера и базы данных. Я воссоздал пакет в 2013 году с помощью SQL Data Tools и вполне могу использовать одно соединение с базой данных со свойствами, установленными во всех потоках данных.

Является ли это известным ограничением в 2008 году или я делаю что-то не так?

отредактируйте, чтобы прояснить вопрос

Я ничего не меняю во время выполнения, кроме свойств соединения, поскольку оно циклически перебирает список серверов и баз данных для подключения. Проблема заключается в конструкторе, поскольку он не прекращает попытки проверки соединения. Так, например, в SSIS 2013 у меня динамически устанавливаются свойства подключения, и если я изменяю базовый вызов данных, я переключаюсь на нединамическое соединение, обновляю столбцы и метаданные и т. Д., А Затем переключаюсь обратно на свое динамическое соединение. Никаких проблем вообще. В 2008 году, когда я переключаюсь обратно на динамическое соединение, оно не будет проверяться (поскольку выражения устанавливаются во время выполнения), и мне нужно фактически настроить новое соединение, затем установить его свойства по выражению, и оно будет счастливым. Очевидно, что, поскольку я разрабатываю и тестирую, это PITA. Надеюсь, это немного понятнее.

Комментарии:

1. Что вы имеете в виду whenever any part of the OLEDB Source changes ? Являются ли структуры исходных таблиц одинаковыми или у них разные столбцы?

2. Для данного потока данных в SSIS не могут быть изменены его метаданные (столбцы, типы данных) во время выполнения. Именно так это и работает.

3. @bhs как упоминал Ник, вы можете использовать динамические подключения только в том случае, если все таблицы имеют одинаковую структуру.

4. @bhs Попробуйте изменить ValidateExternalMetadata на False в ИСТОЧНИКЕ OLEDB

5. @bhs также проверяет, установлено ли это Delayed Validation = true свойство в задаче потока данных и в диспетчере подключений OLEDB