Запуск пакета служб SSIS в качестве задания агента SQL не выполнен
Я создал SSIS проект, который экспортирует некоторые данные в Excel. В Visual Studio 2017 он работает нормально, но когда я запускаю его с помощью задания агента SQL Server (MS SQL Server 2017), он выдает эту ошибку:
"Executed as user: Administrator. Microsoft (R) SQL Server Execute Package
Utility Version 13.0.1601.5 for 32-bit Copyright (C) 2016 Microsoft. All
rights reserved. Started: 3:31:46 PM Error: 2017-12-27 15:31:47.10
Code: 0xC0010018 Source: Package Description: Error loading value "
<DTS:ConnectionManagers xmlns:DTS="www.microsoft.com/SqlServer/Dts">
<DTS:ConnectionManager DTS:refId="Package.ConnectionManagers[Excel]"
DTS:CreationName="EXCEL" DTS:DTSID="{0E7AADD0-AA79-4C99-8FFC-92E1CB5A871A}"
DTS:ObjectName="Excel"><DTS:ObjectData><DTS" from node
"DTS:ConnectionManagers". End Error Could not load package "\\phantsmgmt\c$\SDATA\ITDokumentace\SQL_DT_projects\Export_ser_zak_CEBIA\Export_ser_zak_CEBIA\Export_ser_zak_CEBIA\Package.dtsx"
because of error 0xC0010014. Description: The package failed to load due to
error 0xC0010014 "One or more error occurred. There should be more specific
errors preceding this one that explains the details of the errors. This
message is used as a return value from functions that encounter errors.".
This occurs when CPackage::LoadFromXML fails. Source: Package Started:
3:31:46 PM Finished: 3:31:47 PM Elapsed: 0.422 seconds. The package
could not be loaded. The step failed."
Это странно, потому что у меня есть другой проект служб SSIS, в котором также используется диспетчер соединений Excel, и он отлично работает с использованием запланированного задания агента SQL Server.
Я пытался включить и выключить 32-битный режим, но ничего не помогает.
3 ответа
Решение, которое мне помогает, это настройка версии целевого сервера в Visual Studio. Более подробная информация здесь: https://social.msdn.microsoft.com/Forums/sqlserver/en-US/84e470e9-aeef-4850-b29e-9eb3d545819f/running-ssis-package-as-sql-agent-job-failed?forum=sqlintegrationservices
Я получаю это сообщение совсем недавно со сборкой VS 2019 PRO пакета ssis и доступом oledb к ms sql. Прямая сборка по сравнению с версией 2019 с доступом oledb к ms sql выдаст это сообщение на наших пакетных машинах, даже если то же самое задание будет выполняться на ноутбуке. Я ничего не мог заставить работать, пока не установил для TargetServerVersion значение SQLServer 2016. Вероятно, это просто аномалия нашей несколько странной среды, но я хотел упомянуть об этом на случай, если это поможет кому-то еще. Некоторые говорят, что это сообщение означает, что dtexec не может прочитать ваш пакет .dtsx.
Их главная ошибка:
Error loading value "
<DTS:ConnectionManagers xmlns:DTS="www.microsoft.com/SqlServer/Dts">
<DTS:ConnectionManager DTS:refId="Package.ConnectionManagers[Excel]"
DTS:CreationName="EXCEL" DTS:DTSID="{0E7AADD0-AA79-4C99-8FFC-92E1CB5A871A}"
DTS:ObjectName="Excel"><DTS:ObjectData><DTS" from node
"DTS:ConnectionManagers". End Error
Похоже, что ошибка из диспетчера соединений Excel, есть значение, которое не может быть загружено. Сначала вы должны проверить, что путь к файлу Excel существует. Если файл создается после выполнения пакета, вы должны установить DelayValidation
собственность на True
для каждого компонента, который использует это соединение.