Пакет служб SSIS - сохранить то же свойство соединения в соединении Excel - PullRequest
0 голосов
/ 25 февраля 2019

Я использую SSDT 2017. Есть 3 задачи потока данных (они связаны с использованием ограничений приоритета) , который загружает данные из Excel в таблицы базы данных.Когда я запускаю каждую задачу отдельно, она отображается как успешная, но когда я запускаю весь пакет, она отображается как выполненная без каких-либо зеленых галочек на задачах, что означает, что задачи не выполняются.После того как я изменил свойство RetainSameConnection в Excel на True, все задачи успешно выполняются.

Я не видел такого поведения в более ранних версиях.Это новое изменение в версии 2017 или я что-то упустил?

1 Ответ

0 голосов
/ 27 февраля 2019

Попытка выяснить проблему

На основе вопроса и комментариев вы используете 3 Задача потока данных, которая содержит 3 исходных компонента Excel, использующих один и тот же диспетчер соединений.

В началевыполнения пакета на этапе проверки, каждый из этих компонентов должен попытаться получить соединение от диспетчера соединений, чтобы прочитать метаданные, и попытаться оставить это соединение открытым, пока оно не будет выполнено и поскольку существует много файлов, которые пытаются открытьпри таком же соединении это вызовет проблему.

При использовании RetainSameConnection пакет запускает метод acquconnection один раз и использует его несколько раз, затем проблема решается.

Что-то попробовать

Попробуйте изменить свойство Delay Validation на True, а свойство ValidateExternalMetadata на False для каждого Excel Source во всех задачах потока данных, это может решить проблему, если соединение получено только для целей проверки.Если это не работает, то это означает, что вызывается метод подключения захвата, чтобы заблокировать файл для чтения, даже если выполнение задачи потока данных еще не запущено.

...