Я пытаюсь использовать SSIS для просмотра каталога файлов Excel и помещения их в таблицу на SQL Server. Кажется, у меня есть базовый выбор - либо одна и та же таблица выкидывается в таблицу 10 раз, либо я получаю сообщение об ошибке. Я использую инструкции здесь:
http://www.sqlis.com/post/Looping-over-files-with-the-Foreach-Loop.aspx
Сообщение об ошибке:
Ошибка проверки пакета
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ:
Ошибка в задаче потока данных [Место назначения - HR_Data [200]]: код ошибки SSIS DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER. При вызове метода AcquireConnection диспетчера соединений «DestinationConnectionOLEDB» произошел сбой с кодом ошибки 0xC0202009. Перед этим могут быть опубликованы сообщения об ошибках с дополнительной информацией о том, почему не удалось вызвать метод AcquireConnection.
Ошибка в задаче потока данных [DTS.Pipeline]: компонент «Назначение - HR_Data» (200) не прошел проверку и вернул код ошибки 0xC020801C.
Ошибка в задаче потока данных [DTS.Pipeline]: один или несколько компонентов не прошли проверку.
Ошибка в задаче потока данных: во время проверки задачи произошли ошибки.
Ошибка при полной загрузке данных HR [диспетчер соединений "DestinationConnectionOLEDB"]: код ошибки SSIS DTS_E_OLEDBERROR. Произошла ошибка OLE DB. Код ошибки: 0x80004005. Доступна запись OLE DB. Источник: «Поставщик Microsoft OLE DB для драйверов ODBC» Результат Hresult: 0x80004005 Описание: «[Microsoft] [Диспетчер драйверов ODBC] Имя источника данных не найдено и не указан драйвер по умолчанию».
(Microsoft.DataTransformationServices.VsIntegration)
КНОПКИ:
По сути, SSIS для файлов Excel работает иначе, инструкции больше похожи на этот. Вам нужно вручную создать строку подключения в поле выражения, а не просто поместить туда переменную. Строка будет выглядеть примерно так:
"Provider = Microsoft.Jet.OLEDB.4.0; Data Source =" + @ [User :: FileName] + "; Extended Properties = \" Excel 8.0; HDR = YES \ ";"
Попутно вам нужно убедиться, что вы установили 32-разрядный, а не 64-разрядный проект. Вам, вероятно, потребуется обновить заголовки столбцов и отладить электронные таблицы, в основном SSIS просто немного неинтуитивно (!)