在哪里可以找到SSIS脚本组件中的PreExecute方法?

时间:2012-04-12 10:19:32

标签: ssis

我正在尝试在我的SSIS包中调用Net.TCP WCF服务。我已经设置了脚本组件,在服务引用中将.NET Framework更改为3.5。我正在根据以下链接中提供的示例创建示例包。

How to Configure an SSIS Package to Access a Web Service using WCF

链接指出要覆盖 PreExecute 方法,但我无法在SQL 2008 R2中的脚本组件中找到该方法。

我的包中的脚本组件以下面的代码开头:

[System.AddIn.AddIn("ScriptMain", Version = "1.0", Publisher = "", Description = "")]
public partial class ScriptMain : Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase

但是,上述文章中的示例具有以下代码:

[Microsoft.SqlServer.Dts.Pipeline.SSISScriptComponentEntryPointAttribute]
public class ScriptMain : UserComponent

我之前尝试过复制代码以修复相关引用,但没有在哪里包含 UserComponent 的引用。

有人可以指出我在这里做错了吗?

1 个答案:

答案 0 :(得分:1)

问题原因:

您正在使用控制流标签上提供的 Script Task ,而不是 Script Component 转换数据流任务

SSIS 2008 R2包说明了不同之处:

Business Intelligence Development Studio(BIDS)2008 R2 中创建SSIS包,并将其命名为 SO_10121670.dtsx

BIDS将默认显示控制流标签。在工具箱中,拖放 Script Task Data Flow Task ,如下所示。

Control Flow

双击脚本任务以查看 Script Task Editor 。在脚本任务编辑器上,单击脚本页面,然后单击 Edit Script...

Script Task Editor

Integration Services Script Task 代码编辑器将打开。您会注意到 ScriptMain 类继承自Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase

MSDN article的示例不使用此脚本任务

Script Task

控制流选项卡上,双击数据流任务以切换到数据流选项卡。从工具箱上的数据流转换部分拖放 Script Component

Data Flow Task

当您拖放脚本组件时,将出现 Select Script Component Type 对话框。您必须选择适合您要求的合适的。此示例将类型设置为 Source ,以便我们可以查看脚本编辑器。点击 OK

Select Script Component Type

双击脚本组件以查看 Script Transformation Editor 。在脚本转换编辑器上,单击脚本页面,然后单击 Edit Script...

Script Transformation Editor

Integration Services Script Component 代码编辑器将打开。您会注意到 ScriptMain 类继承自UserComponent。这是您在MSDN blog article中练习WCF示例代码所需的组件。

您可以在 PreExecute 代码中查看您一直在寻找的 Script Component 方法。

Script Component