В настоящее время у меня есть поток управления, который подключается к более чем 20 дБ (та же структура)
В этом потоке controlf все то же самое, за исключением потоков данных, которые отличаются только в связи с дБ.
Это пример потока данных:
OLE DB Source на самом деле отличается от других.
Можно ли в этом случае использовать цикл Foreach, чтобы избежать этих повторений?
Если возможно, как это сделать? Я не смог найти ни одной хорошей статьи, которая описывает, как подключиться к различным БД.
Спасибо
Ilija
EDIT:
Я нашел статью, которая описывает большую часть того, что мне нужно: http://sql -bi-dev.blogspot.com / 2010/07 / dynamic-database-connection-using-ssis.html
Я выполнил все шаги здесь, но я не понимаю часть с запросом. Это запрос из этой статьи:
SELECT '' TableName, N'' ConnString, 0 RecordCount, GETDATE() ActionTime
Я не понимаю этот синтаксис, и я думаю, что это откуда ошибки:
[Источник OLE DB 1 ] Ошибка: произошла ошибка с выходным столбцом
«ConnString» (37) на выходе «Выход источника OLE DB» (11). Колонка
возвращен статус: «Текст был усечен или один или несколько символов имели
в целевой кодовой странице нет совпадений. ".
[Источник OLE DB 1 ] Ошибка: «выходной столбец« ConnString »(37)»
не удалось, потому что произошло усечение и расположение строки усечения
в «столбце вывода« ConnString »(37)» указывает сбой при усечении.
Произошла ошибка усечения указанного объекта указанного
компонент.
[SSIS.Pipeline] Ошибка: код ошибки SSIS DTS_E_PRIMEOUTPUTFAILED.
Метод PrimeOutput для компонента «Источник OLE DB» (1) вернул ошибку
код 0xC020902A. Компонент возвратил код ошибки, когда
конвейерный двигатель с именем PrimeOutput (). Смысл кода ошибки
определяется компонентом, но ошибка является фатальной и конвейер
перестал исполнять. Там могут быть сообщения об ошибках, опубликованные до этого
с дополнительной информацией о сбое.
Я хотел бы получить данные из таблицы с именем Agency (которую я определил в переменной SourceTable = 'Agency' - если я установил несуществующую таблицу, то получаю ошибку, поэтому я предполагаю, что соединение с исходной БД в порядке) .. ... и меня смущает, что я нигде не определил, какие столбцы мне нужны, поэтому я предполагаю, что в этом запросе есть ошибка, но я не понимаю его синтаксис. Любое предложение?
РЕДАКТИРОВАТЬ 2:
Еще одна проблема, с которой я столкнулся, заключается в том, что окно сообщения всегда возвращает мне одно и то же значение в строке подключения - переменная ConnString не изменяется. Как мне присвоить ему значение из переменной SourceList?