Як змінити версію завдання сценарію в SSIS?


10

Я додав завдання сценарію до проекту SSIS у VS2015. Коли я розгорнувся до SQL Server 2016, я отримав повідомлення про помилку, що version 15.0сценарій не підтримується.

Звідки це version 15 come from? Читаючи інші подібні запитання щодо переповнення стека, я бачу, що ви можете встановити цільову версію проекту на SQL Server 2012 - що я і зробив (кінцева мета розгортання - SQL Server 2012).

Я також спробував видалити та відтворити завдання сценарію. А в інформації про сценарій написано, що він використовує V10 з C #.

Як я можу це вирішити?

Завдання сценарію: Помилка: під час завантаження завдання Script із XML: System.Exception: Завдання сценарію "" ST_a1ad9dc5972c42b68c12a13155f10b6d "" виникла виняток, використовуючи сценарій версії 15.0, який не підтримується в цьому випуску послуг інтеграції. Щоб запустити пакет, використовуйте завдання Script для створення нового сценарію VSTA. У більшості випадків скрипти автоматично перетворюються на підтримку підтримуваної версії, коли ви відкриваєте пакет послуг інтеграції SQL Server у% SQL_PRODUCT_SHORT_NAME% Integration Services. на Microsoft.SqlServer.Dts.Tasks.ScriptTask.ScriptTask.LoadFromXML (події XmlElement elemProj, IDTSInfoEvents) "

Я також відкрив проект у SSDT 2012 і відновив з іншою назвою. Та сама помилка. Здається, має бути посилання, яке не було видалено, або щось таке.

Жодне з рішень цього питання ( /programming/34893267/ssis-script-task-vs15-not-work-when-deploy-on-sql-server-2014 ) не працювало.

Дивлячись на XML в пакеті, де знаходиться сценарій, я легко можу знайти це завдання, і ніде немає посилання на версію 15.

============ EDIT

Після копіювання проекту на машину, на якій розміщена база даних, відкриття VS2015 і розгортання звідти, пакет виконується.

А потім, повертаючись до своєї машини і будуючи там, це не відбувається.

Це помилка? Або я роблю щось дурне, очікуючи, що збірка створить той самий майстер розгортання, що і майстер VS ...

У мене є SQL Server 2016 (13.0.4411.0), ssisdbмає версію схеми (13.0.1601.5).

Я використовую пакет послуг інтеграції, створений у візуальній студії 2015. Компонент сценарію має шлях: C:\Program Files (x86)\Microsoft SQL Server\130\DTS\Binn\VSTA14_IS_ST_CS_Template.vstaxвін не дозволить мені виконати пакунок через каталог послуг інтеграції (завдяки повідомленню Зака). Однак виявляється, що він дозволить мені виконати його через файлову систему (за допомогою SQL Agent). Не впевнений, що це працює, оновить це, коли пакет буде завершено.


Я помітив те саме, коли вказував версії пакетів. Я створив свій проект і скопіював майстра, забувши змінити цільову версію SQL Server. У мене з’явилася помилка, що цільова версія зависока. Коли я відбудувався з виправленою цільовою версією, я отримав таку ж помилку, незважаючи на те, що XML показав виправлену цільову версію
Zach Smith

Відповіді:


5

Я вважаю, що у мене є те саме питання, і ось, що стосується моєї проблеми.

Деталі спочатку:

  • У мене є сервер sql 2016 (13.0.4411.0)
  • SSISDB має версію схеми (13.0.1601.5)
  • Я використовую пакет послуг інтеграції, створений у візуальній студії
  • Компонент сценарію (у якому зазначено, що це 2015 C #) має шлях: C: \ програмні файли (x86) \ Microsoft SQL Server \ 130 \ DTS \ Binn \ VSTA14_IS_ST_CS_Template.vstax

Якщо я розгорнутимуся до каталогу через SSMS, він не дозволить мені виконати пакет через каталог служб інтеграції (через повідомлення, яке переживав Зах - версія 15.0 не підтримується).

Рішення:

Якщо я розгортаю пакет через Visual Studio до «Каталогу служб інтеграції» у потрібному екземплярі, це повідомлення проходить і проект успішно працює. Це не ідеально, як нам слід мати змогу розгорнутись через SSMS, але означало, що проект може прогресувати.


1
Мені б хотілося дізнатись, чому працює вирішення.
Зак Сміт

4

Моя DBA нарешті зрозуміла це для мене, і проблема полягала в тому, що я розгортався через SSMS 2017, не усвідомлюючи цього. Повідомлення про помилку збило мене з глузду, але ваше вирішення допомогло призвести до міркувань про помилку. Я думаю, ви можете спробувати SSMS 2016 і побачити, чи працює це. Інший спосіб, який запропонував мій DBA, - це використовувати командний рядок. Щось подібне, із 130 виділеними, оскільки саме ця версія потрібна вам у 2016 році:

"C:\Program Files (x86)\Microsoft SQL Server\130\DTS\Binn\ISDeploymentWizard.exe" 
/Silent /ModelType:Project 
/SourcePath:"E:\ssis\Project Path\bin\Development\Project.ispac" 
/DestinationServer:"server01" 
/DestinationPath:"/SSISDB/Projects/Project"

Я сподіваюся, що це допоможе прояснити це. Я над цим працював досить довго, перш ніж знайти ваше вирішення, а потім нарешті знайти це рішення. Тож дякую!


що ви маєте на увазі під "розгортанням через SSMS 2017 без усвідомлення цього"? Я використовую VS 2017 для розгортання .. і є налаштування, яке дозволяє визначити версію SQL-сервера, на яку ви орієнтовані. Але я виявив, що це не спрацювало
Зак Сміт,

Це працювало для мене. Розгортання безпосередньо з SSDT працювало, але ми не могли цього зробити віддалено, розгортання через SSMS 2017 не працювало б, а потім використання параметра командного рядка через ISDeploymentWizard.exe 2016 працювало. Дякую!
Clinemi

0

У відповідності з іншими лініями, я спочатку розгорнувся до SQL2014 за допомогою майстра розгортання SQL2017. Це призвело до помилки виконання. Коли я використовував майстра розгортання SQL2014, все працювало нормально.


-1

Я думав, що додам до цього, оскільки отримував ту саму помилку. Я запускаю VS 2017 і розміщуюсь на SQL Server 2016. Я прочитав досить багато статей, потім зрозумів, як легко мені це виправити. VS 2017 має велику зворотну сумісність.

Ця стаття про зміну версії пакету SSIS відповідно до версії вашого цільового сервера допомогла мені вирішити помилку в моєму випадку.


Зауважте, що ОП заявив, що намагався змінити цільовий сервер у своєму випадку, але це не вийшло. Звичайно (як зазначалося в статті), якби він використовував функцію, недоступну в цільовій версії, через це все не буде працювати.
RDFozz

Так - просто змінити цільову версію не вийшло. Однак зміна цільової версії та потім локальне розгортання через VS 2017 справді спрацювали - тому я підозрюю помилку в VS 2017 (принаймні, коли я задавав питання) щодо того, як створюється майстер розгортання. (Я припускаю, оскільки цей підхід працював, що я не використовував несумісні функції)
Зак Сміт,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.