【问题标题】:Programmatically compile a Script Task in SSIS在 SSIS 中以编程方式编译脚本任务
【发布时间】:2009-08-01 04:13:32
【问题描述】:

根据我的要求,我需要将脚本任务从一个 SSIS 包写入另一个包。由于我的服务器是 64 位机器,当我执行覆盖的 SSIS 包时,它会抛出错误“找不到二进制脚本”。因此,我需要在父 SSIS 包中以编程方式编译脚本并将二进制代码放入另一个包中。我不知道如何以编程方式编译脚本。 让我知道该怎么做

【问题讨论】:

  • 我很怀疑这是你需要做的。请缩小这个问题,也许只是两个包和脚本任务。然后发布重现它所需的详细信息。 Microsoft 似乎不太可能希望您构建脚本任务。
  • 您好约翰,感谢您的回复。我有一个主包和一个脚本。必须将脚本写入 Child 包并保存。稍后我的服务器将执行子包。使用我的 64 位机器,子包无法运行,因为没有二进制代码。因此我需要从主包编译脚本并与脚本一起写入子包。这就是我需要的。有什么选择吗?
  • 什么意思,你得把脚本写到子包里?你的意思是,在运行时?你不能那样做。你想完成什么?
  • 嗨约翰,我的场景是,我有一个主包。我有一个脚本任务。此脚本任务将加载一个包(子),将脚本代码写入子包并将包保存回其文件夹。我的 SQL 作业将执行 ETL 任务的子包。我可以将脚本从 Master 包写入子包并保存。但是在执行子包的过程中,会出现预编译选项设置为True,但找不到二进制代码脚本的错误。所以我想知道如何编译我的脚本源并将源代码和二进制代码保存到子包中。

标签: ssis scripting task precompile


【解决方案1】:

我认为你不能用 SSIS 做到这一点。如果有办法使用父包/子包架构来实现这一点,我不知道。

您可以更灵活地在 .Net 中动态创建包。虽然我还没有尝试过动态编译脚本任务代码。

我很好奇:为什么不将代码从父包中复制出来并粘贴到子包中?

:{>安迪

【讨论】:

  • 嗨,安迪。这样做的主要目的是让事情变得自动化。如果我有大约 300 个 ETL 包,我想从我的主包中一次更改一个。这样可以节省时间..
【解决方案2】:

因此,您需要以某种方式以编程方式执行(调试>构建)。当您在 VS 中手动执行此操作时,这通常会解决找不到二进制文件的问题。虽然在运行时并没有让我感到震惊。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-18
    • 1970-01-01
    • 2019-04-28
    • 1970-01-01
    • 2023-04-09
    • 2017-12-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多