【问题标题】:Cannot load script for execution无法加载脚本以执行
【发布时间】:2017-03-31 18:49:18
【问题描述】:

当我尝试使用 C# 代码执行脚本任务时,我在 VS 工作室中收到错误消息。代码在编辑器中打开,将成功构建和重建,但是当我运行包时,我得到了

“无法加载执行脚本”。

截图

【问题讨论】:

  • 您能否发布您的SSIS 项目的图片以及完整的错误描述。
  • 你把它们放在哪里了?你在共享驱动器上吗(在虚拟机中运行)
  • 不让我上传图片,因为我是新手。很乐意给他们发电子邮件。是的,它在虚拟机上运行。
  • 我想通了。当您在 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-server ssis script-task


【解决方案1】:

我想通了。当您在 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 {

【讨论】:

  • 你必须accept your answer 这样你的问题将被标记为已回答,即使这是你自己的答案
  • @Mathew Nelson 您提到的修复工作正常。我们已经尝试过了,C# 代码没有正确执行,没有任何问题。谢谢。
  • 只是在这里补充一下,我刚刚发现我的脚本之间的唯一区别是自动生成的命名空间名称。我必须创建一个新的脚本任务并将整个脚本(完全)复制到新任务中,然后我才能执行它。我有一种感觉是因为该软件包是从旧版本升级的,但我不能确定。但是这个答案帮助我弄清楚了。
【解决方案2】:

您还可能针对不正确的 SQL Server 版本。如果将 SSIS 项目设置为面向 SQL Server 2012 并将其部署到 SQL Server 2016,则会失败并出现此错误。将项目属性中的目标版本更改为2016并重新部署。

【讨论】:

    【解决方案3】:

    SQL Server 的版本差异导致了我的问题。通过更改 deployemnt 中的 SQL Server 来解决它,如下面的链接所述

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

    【讨论】:

    • 在答案中包含需要采取的操作以及链接,以避免将来出现找不到页面的问题。
    猜你喜欢
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-03
    • 1970-01-01
    • 2015-12-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多