Компонент сценария служб SSIS не работает при развертывании.Жалуется на ComponentVersionMismatchError - PullRequest
3 голосов
/ 12 апреля 2019

Пакет с компонентом сценария, который отлично работает на SSDT (Visual Studio 2017), не запускается при развертывании на SQL Server 2016. Он создает исключение ComponentVersionMismatchException.

Таким образом, другие пакеты работают нормально.У этого есть поток данных с назначением компонента скрипта.Когда я только начинал разработку проекта, я не корректировал целевой показатель с SQL 2017 до SQL 2016. Я разработал все и запустил его из SSDT.Я использую файл .ispac для развертывания.При развертывании он генерирует исключение ComponentVersionMismatchException.Вот что я пытался заставить запустить компонент сценария:

  1. Измените цель на SQL 2016. Не удалось.
  2. Внесите небольшое изменение и убедитесь, что сценарий перекомпилирован.Ошибка
  3. Убедитесь, что выбран Visual C # 2015.Не удалось.
  4. Создайте копию пакета и удалите компонент сценария.Это удалось.
  5. В дубликате просто добавьте новый пустой компонент скрипта в качестве места назначения.Снова неудача.
  6. Удалить задачу потока данных и перестроить с пустым компонентом скрипта.Не удалось.
  7. Создание пакета с нуля и воссоздание потока данных с тем же исходным и пустым компонентом скрипта.Не удалось.
  8. Я попытался полностью создать новый проект, установил цель на SQL 2016 и создал аналогичный поток данных только с таблицей в качестве источника и пустым компонентом сценария в качестве места назначения.По-прежнему не удалось.

Я ожидаю, что совершенно новый проект, ориентированный на SQL 2016 с компонентом сценария, который ничего не делает, должен быть в состоянии выполнить на сервере.Я довольно потерян в этот момент.

Ответы [ 4 ]

1 голос
/ 13 апреля 2019

Попробуйте выполнить развертывание непосредственно из Visual Studio вместо использования ispac. Это может быть похоже на: https://feedback.azure.com/forums/908035-sql-server/suggestions/32898370-deploying-single-ssis-package-to-sql-2016-from-ssd

0 голосов
/ 22 апреля 2019

Учитывая то, что сказал Петр И что я уже обновился до последней версии оболочки VS / SSDT для VS2017, я попытался установить средства данных SQL Server для VS2015.

Visual Studio 2015 удалось развернуть непосредственно на (локальном) сервере, и пакеты, развернутые из версии VS2015, не имели проблем с выполнением, которые были у пакетов из VS2017.

Учитывая, что SSDT для VS2019 был выпущен, возможно, стоит попробовать эту версию в будущем.

Похоже, что это все еще не исправленная ошибка в SSDT для VS2017.

0 голосов
/ 15 апреля 2019

Я полностью согласен с комментариями @Larnu, проблема связана не только с версией Target Server.Даже если вы выберете SQL Server 2016 в качестве целевого сервера, компонент сценария создается с использованием более новой версии 4.6, которая связана с Visual Studio 2015 / SQL Server 2016 .Вы можете решить эту проблему, установив ту же версию .Net Framework на сервер развертывания.

0 голосов
/ 13 апреля 2019

Проекты служб SSIS Integration Services не имеют обратной совместимости, поэтому при развертывании пакетов, созданных в VS 2017, требуется изменить целевое значение с SQL 2017 на SQL 2016.

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