На нашем сервере разработки установлен 64-разрядный SQL Server 2008 R2 с SSIS. Чтобы иметь возможность импортировать файлы XLSX напрямую из T-SQL (через OPENROWSET
), мы установили на сервере разработки файл Microsoft Access Database Engine Redistributable 64-bit
. На сервере уже установлена 32-битная версия, поэтому мы установили ее с ключом /passive.
После этого наши существующие пакеты перестали работать. Один из них сообщает
Шаг не генерировал никаких выходных данных. Возвращаемое значение было неизвестно. Код завершения процесса был -1066598274. Шаг не удался.
Просто интересно, настроил ли кто-нибудь еще свой сервер так, чтобы он мог использовать файлы OPENROWSET
в XLSX, а также иметь SSIS на том же сервере. Или кто-то знает, невозможна ли такая конфигурация?
Редактировать: я должен добавить, что сбойные пакеты запускаются из задания агента SQL. Когда я подключаюсь к диспетчеру служб Integration Services сервера через SQL Server Management Studio и запускаю пакет (перейдя к пакету, щелкнув его правой кнопкой мыши и выбрав «Выполнить пакет»), он выполняется успешно.
OPENROWSET
T-SQL прямо там. Любая ошибка? Если вы используете OPENROWSET только для получения данных из Excel, то битность DTExec не должна иметь значения, это SQL Server, который обращается к драйверу ACE, а не к SSIS. - person Nick.McDermaid   schedule 27.04.2015