Строка подключения к Excel в SSIS - PullRequest
0 голосов
/ 27 февраля 2019

Я провел все утро, глядя на это, и я иду по кругу.

Я настраиваю пакет служб SSIS для импорта всех расписаний Excel в папке, я начал только с одногоОднако, чтобы упростить задачу, добавив всего одну задачу потока данных, я вернусь, чтобы добавить цикл позже.

Я создал соединение с файлом Excel и добавил источник Excel, используя это соединение.Также стоит отметить, что заголовки могут меняться, поэтому отмените выбор в поле «Имена столбцов первой строки».

Затем я добавил пункт назначения OLE DB, и все столбцы совпадают.Затем я также добавил задачу SQL перед всем этим для усечения целевой таблицы.

Все это работает нормально, однако затем я создал строковую переменную ExcelFile со значением C:\Data\Timesheets\TS1.xlsx.

Строка подключения диспетчера соединений Excel была

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Data\Timesheets\TS1.xlsx;Extended Properties="Excel 12.0 XML;HDR=NO"; 

, и все, что я хочу сделать, это добавить переменную ExcelFile для замены источника, поэтому я добавил выражение строки подключения со следующим значением:

"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + @[User::ExcelFile] + ";Extended Properties='Excel 12.0 XML;HDR=NO';"

Это оценивается как ожидалось, но когда я сохраняю это, пакет завершается с ошибкой:

Ошибка проверки.ISSTimesheetImport Диспетчер соединений «Диспетчер соединений Excel»: код ошибки служб SSIS DTS_E_OLEDBERROR.Произошла ошибка OLE DB.Код ошибки: 0x80004005.Доступна запись OLE DB.Источник: «Microsoft Access Database Engine». Hresult: 0x80004005 Описание: «Не удалось найти устанавливаемый ISAM.»Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

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

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

enter image description here

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

Я только что обнаружил проблему, в какой-то момент я изменил двойные кавычки на одинарные, чтобы получить выражение для проверки, однако я должен был изменить их на \ ", так что теперь он работает нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...