SSIS 脚本组件用作源

在本文中,我们将通过实际示例展示如何将 SSIS 脚本组件用作源。您还可以参考以下链接:

配置 SSIS 脚本组件作为源

步骤 1:将“数据流任务”从工具箱拖放到控制流区域,并将其重命名为“SSIS 脚本组件作为源”。

双击它将打开数据流选项卡。有关更多转换,请点击此处 >> 点击这里

步骤 2:将“脚本组件”从 SSIS 工具箱拖放到数据流区域。将脚本组件放置在数据流区域后,将打开一个名为“选择脚本内容类型”的新弹出窗口。在此示例中,我们要演示 SSIS 脚本组件作为源,因此我们选择“源”选项。

SSIS Script Component as Source 2

步骤 3:双击脚本组件,将打开以下编辑器以配置属性。请参阅脚本组件作为转换以了解这些属性。

SSIS Script Component as Source 3

步骤 4:在“输入和输出”选项卡中,转到“输出列”,然后在“输出列”下,使用“添加列”按钮添加这些列:ID、名称和国家/地区。

Script Component as Source 4

首先,我们添加了“国家/地区”列,然后将数据类型从整数(默认)更改为字符串 [DT_STR]。

Script Component as Source 5

类似地,我们添加了剩余的列。请记住,您可以使用“名称”属性根据需要更改列名。

Script Component as Source 6

接下来,我们使用“名称”属性将输出名称更改为“Myoutput”。更改名称并非强制要求,完全取决于您。

Script Component as Source 8

步骤 5:在“脚本”选项卡中,请单击“编辑脚本...”按钮以编写实际的 C# 脚本。

提示:您可以使用 ScriptLanguage 属性将语言更改为 VB.Net。

单击“编辑脚本”后,将打开 main.cs 类文件以编写 C# 代码。要发送一些代码,我们必须在 `CreateNewOutputRows()` 函数内编写自定义代码。

步骤 6:在此处添加您的自定义 C# 代码。在本示例中,我们声明了两个字符串数组,然后使用 for 循环将每个数组元素分配给一个单独的行。

SSIS Script Component as Source 10

我们在上面的屏幕截图中使用的代码是:

C# 代码

public override void CreateNewOutputRows()
 {
   /*
      Add rows by calling the AddRow method on the member variable named "<Output Name>Buffer".
      For example, call MyOutputBuffer.AddRow() if your output was named "MyOutput".
   */
   //int[] Identity = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
   
   // Creating String array holding the Country Names 
   string[] CountryNames = new string[] { "India", "USA", "China", "UK", "Canada", 
                                         "Australia", "Japan", "Russia", "South Africa", "Brazil"};
   // Creating String array holding the Names
   string[] CustomerNames = new string[] { "Tutorial", "Gateway", "Yong", "John", 
                                           "Dave", "David", "Xing", "Mike", "Joseph", "Ronaldo"};

   for (int i = 0; i < CountryNames.Length; i++)
   {
      /* Myoutput is the Name that we given in Script component.
         Please provide the name that you see, or assigned in Script Component
      */
      MyoutputBuffer.AddRow();
      MyoutputBuffer.ID = i; // Identity[i];
      MyoutputBuffer.Country = CountryNames[i];
      MyoutputBuffer.Name = CustomerNames[i];
   }
 }

步骤 7:编辑脚本后,请关闭 main.cs 文件。接下来,将 OLE DB 目标拖放到数据流区域,然后将脚本组件的输出箭头拖到此新的 OLEDB 目标。

SSIS Script Component as Source 11

步骤 8:双击 OLE DB 目标将打开 OLE DB 目标编辑器。

步骤 9:选择您已创建的 OLE DB 连接管理器(如果尚未创建,请使用“新建”按钮创建一个)。在此,我们选择数据库中存在的 [SSIS 脚本组件作为源] 表。

步骤 10:单击“映射”选项卡以检查源列是否已映射到目标列。

单击“确定”以完成创建我们的 SSIS 脚本组件作为源包。

步骤 11:右键单击解决方案资源管理器中的“SSIS 脚本组件作为源”包,然后选择“执行包”。

SSIS Script Component as Source 15

从上图可以看出,我们的包已成功执行。让我们打开 Management Studio 并编写以下查询来查看数据。

SELECT [ID]
      ,[Name]
      ,[Country]
  FROM [SSIS Script Component as Source]

输出

评论已关闭。