无法加载脚本执行
Cannot load script for execution
当我尝试使用 C# 代码执行脚本任务时,我在 VS 工作室中收到一条错误消息。代码在编辑器中打开,并将成功构建和重建,但是当我 运行 包时,我得到
"Cannot load script for execution".
截图
我想通了。当您在 SSIS 中创建新的脚本任务时,其中会自动生成代码,这对于执行任务至关重要。如果您从控制台应用程序中获取完全可用的 C# 脚本,然后仅 ctrl+a、ctrl+v 处理 SSIS 脚本任务的全部内容,您将丢失脚本任务代码的关键部分。发生这种情况时,您会留下一个脚本任务,该任务将在脚本编辑器中打开并进行编译而不会产生任何错误,但它不会在 SSIS 中执行。
特别遗漏了这个:
{ [Microsoft.SqlServer.Dts.Tasks.ScriptTask.SSISScriptTaskEntryPointAttribute]
public partial class ScriptMain :
Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase {
您可能还针对了错误版本的 SQL 服务器。如果 SSIS 项目设置为目标 SQL Server 2012 并将其部署到 SQL Server 2016,它将失败并出现此错误。将项目属性中的目标版本更改为 2016 并重新部署。
SQL 服务器的版本差异导致了我的问题。通过更改部署中的 SQL 服务器解决了这个问题 link
当我尝试使用 C# 代码执行脚本任务时,我在 VS 工作室中收到一条错误消息。代码在编辑器中打开,并将成功构建和重建,但是当我 运行 包时,我得到
"Cannot load script for execution".
截图
我想通了。当您在 SSIS 中创建新的脚本任务时,其中会自动生成代码,这对于执行任务至关重要。如果您从控制台应用程序中获取完全可用的 C# 脚本,然后仅 ctrl+a、ctrl+v 处理 SSIS 脚本任务的全部内容,您将丢失脚本任务代码的关键部分。发生这种情况时,您会留下一个脚本任务,该任务将在脚本编辑器中打开并进行编译而不会产生任何错误,但它不会在 SSIS 中执行。
特别遗漏了这个:
{ [Microsoft.SqlServer.Dts.Tasks.ScriptTask.SSISScriptTaskEntryPointAttribute]
public partial class ScriptMain :
Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase {
您可能还针对了错误版本的 SQL 服务器。如果 SSIS 项目设置为目标 SQL Server 2012 并将其部署到 SQL Server 2016,它将失败并出现此错误。将项目属性中的目标版本更改为 2016 并重新部署。
SQL 服务器的版本差异导致了我的问题。通过更改部署中的 SQL 服务器解决了这个问题 link