Ошибка служб SSIS 0xC0011008 Microsoft.SqlServer.Dts.Runtime.Application.LoadPackage

Я вызываю Microsoft.SqlServer.Dts.Runtime.Application.LoadPackage из .net(V4.0) приложения, чтобы загрузить пакет SSIS, установленный на локальный диск виртуальной машины Windows Server 2016. Я запускаю этот код из Visual Studio 2017 Community в режиме отладки, чтобы проверить свои интеграции. Пакеты SSIS были созданы в Visual Studio 2010, и я перенес их для совместимости с Visual Studio 2017. Они интегрируют данные в SQL-сервер 2017. Если я просто выполняю свои пакеты из своего SSIS решения, оно работает отлично, но когда я загружаю их в мой другой код C # с использованием Microsoft.SqlServer.Dts.Runtime.Application.LoadPackage, я получаю следующую ошибку:

Не удалось загрузить пакет из-за ошибки 0xC0011008 «Ошибка загрузки из XML. Для этой проблемы нельзя указать дополнительную подробную информацию об ошибке, потому что не был передан объект Events, в котором можно сохранить подробную информацию об ошибке». Это происходит при сбое CPackage :: LoadFromXML.

Между прочим, это не проблема кода, поскольку он отлично работает в моей реальной среде (Windows Server 2012 R2 таргетинг SQL Server 2017) с точно таким же кодом. Я думаю, это больше связано с совместимостью версий или конфигурацией сервера.


person Fede    schedule 20.11.2018    source источник
comment
Вы проверили, что на виртуальной машине установлена ​​правильная версия Microsoft.SqlServer.ManagedDTS.dll? У нас была аналогичная проблема при тестировании через среды   -  person Matt    schedule 20.11.2018
comment
Привет, Мэтт, как мне узнать, какая версия правильная, и как проверить, правильно ли она установлена? На самом деле я сохранил ту же версию в проекте, если она была добавлена ​​с помощью Nuget, но я не знаю, до какой версии мне нужно обновить   -  person Fede    schedule 20.11.2018
comment
Таким образом, службы Integration Services являются серверным компонентом и не подлежат повторному распространению, поэтому вы добавили ссылку с помощью Nuget, но вам необходимо запустить установку пакета Client Tools SDK на виртуальной машине.   -  person Matt    schedule 20.11.2018
comment
Я установил SSDT на свою виртуальную машину по этому URL-адресу docs.microsoft.com/en-us/sql/ssdt/. Client Tools Sdk - что-то другое? Где я могу получить это? На моей виртуальной машине, на которой я запускаю процесс, не установлен экземпляр SQL-сервера.   -  person Fede    schedule 21.11.2018
comment
Да, SDK - это функция установщика SQL Server. Вам нужно будет запустить это на своей виртуальной машине. Я пытаюсь найти для тебя картинку ...   -  person Matt    schedule 21.11.2018


Ответы (2)


Я решил проблему, обновив свой проект до версии 4.6 платформы .net. Также, как сказал Мэтт, вам также необходимо установить инструменты SDK. Спасибо за помощь.

person Fede    schedule 21.11.2018

Как упоминалось выше, ошибка XML связана с проблемой версии. Отвечать:

  1. Щелкните отчет правой кнопкой мыши и перейдите к свойствам (не к отдельному отчету, а к тому, который находится прямо под решением).
  2. В конфигурации отладки -> если 64-битное значение истинно, установите его на ложное и наоборот.
  3. Теперь он должен работать. Если нет, перезапустите VS.

Спасибо.

person Jeremy Light    schedule 21.11.2019