#excel #ssis #oledb #oledbconnection
#excel #ssis #oledb #oledbconnection
Вопрос:
Я пытаюсь запустить задание в SQL Server Management Studio, которое выполняет пакет SSIS. Пакет SSIS копирует данные из файла Excel в базу данных.
Я установил 64-разрядную версию Microsoft Access Database Engine (https://www.microsoft.com/en-us/download/details.aspx?id=13255 ). Когда я попытался запустить пакет SSIS сам по себе (с помощью Data Tools, а не как задание), он отобразил сообщение об ошибке о том, что ACE.OLEDB не зарегистрирован. Я получил ту же ошибку при запуске пакета SSIS в качестве задания.
Я удалил 64-разрядную версию и установил ее 32-разрядный аналог. Он работает, когда я запускаю пакет SSIS сам по себе.
Когда я пытаюсь запустить пакет как задание, я получаю следующую ошибку:
«Запрошенный поставщик OLE DB Microsoft.ACE.OLEDB.12.0 не зарегистрирован. Если 64-разрядный драйвер не установлен, запустите пакет в 32-разрядном режиме «
Я редактирую шаг задания, перехожу в раздел «параметры выполнения» и устанавливаю флажок «использовать 32-разрядную среду выполнения».
Когда флажок установлен, и я запускаю задание, я получаю следующую ошибку:
«Произошла ошибка OLE DB. Код ошибки: 0x80004005. Доступна запись OLE DB. Источник: «Microsoft Access Database Engine» Hresult: 0x80004005 Описание: «Неопределенная ошибка».
Я также попытался установить JET.Вместо ACE.OLEDB установлен OLEDB, но ничего не работает.
Я могу запустить пакет SSIS сам по себе, но когда я пытаюсь запустить его как шаг задания в SQL Server Management Studio, я всегда получаю две ошибки, упомянутые выше, в зависимости от того, установлен флажок 32-разрядный или нет.
Ответ №1:
Оказывается, что учетная запись прокси, которая использовалась для запуска задания, не имела правильных разрешений.