Сбой переноса пакета с версии 8 на версию 6 с ошибкой

#sql-server #ssis #sql-server-2012 #visual-studio-2019 #ssis-2019

#sql-server #ssis #sql-server-2012 #visual-studio-2019 #ssis-2019

Вопрос:

У меня есть базовый пакет, который включает в себя пару задач Exec SQL и задачу потока данных. Он был разработан с использованием Visual Studio 2019 (последняя версия на данный момент) в модели развертывания пакета. Выполнение в VS работает отлично, но не выполняется при запуске агентом SQL (в рамках стандарта SQL Server 2012) из-за этой ошибки

«Сбой переноса пакета с версии 8 на версию 6 с ошибкой 0xC001700A «Номер версии в пакете недопустим. Номер версии не может быть больше номера текущей версии.». «

Что я пробовал:

1- Я уже прочитал все другие ответы на этот же вопрос: я прошел через свойства, а затем изменил версию развертывания с 2019 на 2012. На самом деле, я получаю это подтверждение:

введите описание изображения здесь

2- Я прошел через XML и убедился, что такой вещи, как версия 8, не существует, и она есть только в версии 6 3- Я снова воссоздал все это с помощью Visual Studio, но на этот раз я начал с целевого развертывания, установленного как 2012.

Пожалуйста, помогите. Спасибо

Комментарии:

1. Вы уверены, что развернули пакет как пакет 2012? Изменение настроек проекта после развертывания, а не повторное развертывание, не устранит проблему

2. @Larnu Это файловая модель развертывания, поэтому простое удаление старого файла и замена его новым устраняет проблему. Так что здесь дело не в этом.

3. Почему бы не использовать SSISDB? Это значительно лучше, чем метод развертывания файловой системы по многим причинам. И если вы используете метод развертывания файловой системы, вам необходимо убедиться, что вы перестроили файл после изменения настроек проекта.

4. При запуске пакета можете ли вы добавить /rep eiw флаг и удалить первые две строки — просто чтобы убедиться, что запускается движок 2012? Что-то в этом роде Microsoft (R) SQL Server Execute Package Utility Version 14.0.3335.7 for 32-bit

5. @billinkc спасибо за ваш ответ. Да, запускается движок 2012 (его запускает SQL Agent SQL Server 2012)

Ответ №1:

Я подумал, что отвечу на случай, если кто-то еще испытывает трудности: проблема связана с фундаментальным недостатком дизайна в VS (глупо, как они его разработали, не учитывая это). По сути, я использовал типы соединений (драйверы), которые не поддерживаются в более ранних версиях. Типы соединений редко получают обновления версий (скажем, например, SQLN11 против 10). Все, что вы получаете, когда получаете целевой сервер, — это другую схему XML, она не изменяет тип соединения на версию, дружественную к SQL 2012.

Я изменил типы соединений вручную, воссоздав весь пакет с помощью VS 2012. Это сработало. Но если у вас есть более ранние версии типов соединений, вам не обязательно этого делать, просто выберите более ранние, если это позволяет.