Не удается загрузить скрипт для выполнения

Я получаю сообщение об ошибке в студиях VS, когда пытаюсь выполнить задачу сценария с использованием кода C#. Код открывается в редакторе и будет успешно собран и перестроен, но когда я запускаю пакет, я получаю

"Не удается загрузить скрипт для выполнения".

Скриншоты

Это пакет

Здесь строится

Это ошибка при выполнении

Вывод


person Matthew Nelson    schedule 31.03.2017    source источник
comment
Не могли бы вы опубликовать изображение вашего проекта SSIS, а также полное описание ошибки, пожалуйста.   -  person Hackerman    schedule 31.03.2017
comment
куда ты их положил? вы на общем диске или около того (работаете на виртуальной машине)   -  person nullqube    schedule 31.03.2017
comment
Не дает загрузить фото, потому что я новичок. С удовольствием напишу им по электронной почте. Да, он работает на виртуальной машине.   -  person Matthew Nelson    schedule 31.03.2017
comment
Я понял это. Когда вы создаете новую задачу «Скрипт» в службах SSIS, в ней автоматически создается код, критически важный для выполнения задачи. Если вы возьмете полностью работающий сценарий C# из консольного приложения и просто нажмете Ctrl+A, Ctrl+V по всему содержимому задачи «Сценарий служб SSIS», вы потеряете критические части кода задачи сценария. Когда это произойдет, у вас останется задача сценария, которая откроется в редакторе сценариев и скомпилируется без каких-либо ошибок, но не будет выполняться в службах SSIS.   -  person Matthew Nelson    schedule 01.04.2017
comment
В частности, отсутствовало это: { [Microsoft.SqlServer.Dts.Tasks.ScriptTask.SSISScriptTaskEntryPointAttribute] открытый частичный класс ScriptMain: Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase {   -  person Matthew Nelson    schedule 01.04.2017


Ответы (3)


Я понял это. Когда вы создаете новую задачу «Скрипт» в службах SSIS, в ней автоматически создается код, критически важный для выполнения задачи. Если вы возьмете полностью работающий сценарий C# из консольного приложения и просто нажмете Ctrl+A, Ctrl+V по всему содержимому задачи «Сценарий служб SSIS», вы потеряете критические части кода задачи сценария. Когда это произойдет, у вас останется задача сценария, которая откроется в редакторе сценариев и скомпилируется без каких-либо ошибок, но не будет выполняться в службах SSIS.

Конкретно не хватало этого:

{ [Microsoft.SqlServer.Dts.Tasks.ScriptTask.SSISScriptTaskEntr‌​yPointAttribute] 
public partial class ScriptMain : 
Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectM‌​odelBase {
person Matthew Nelson    schedule 31.03.2017
comment
вы должны принять свой ответ, чтобы ваш вопрос был помечен как отвеченный, даже если это ваш собственный ответ - person Hadi; 01.04.2017
comment
@Mathew Nelson Упомянутое вами исправление работает нормально. Мы попробовали это, и код C# не выполняется должным образом без каких-либо проблем. Спасибо. - person Soumya; 10.04.2017
comment
Просто чтобы добавить сюда, я только что нашел случай, когда единственной разницей между моими сценариями было автоматически сгенерированное имя пространства имен. Мне пришлось создать новую задачу сценария и скопировать весь сценарий (точно) в новую задачу, после чего я смог ее выполнить. У меня такое ощущение, что это произошло из-за того, что пакет был обновлен с более старой версии, но я не уверен. Но этот ответ помог мне понять это. - person Jacob H; 08.01.2019

Вы также можете использовать неправильную версию SQL Server. Если проект SSIS настроен на SQL Server 2012 и развернут на SQL Server 2016, возникает эта ошибка. Измените целевую версию в свойствах проекта на 2016 и повторите развертывание.

person Sean    schedule 25.10.2017

Разница в версии SQL Server вызывала у меня проблему. Решил это, изменив SQL Server в deployemnt, как указано в ссылке ниже.

http://www.macaalay.com/2017/01/26/cannot-load-script-for-execution-after-migrating-your-ssis-package-to-a-new-sql-server-version/

person Seenu    schedule 30.07.2021