在本文中,我们将通过实际示例展示如何将 SSIS 脚本组件用作源。您还可以参考以下链接:
配置 SSIS 脚本组件作为源
步骤 1:将“数据流任务”从工具箱拖放到控制流区域,并将其重命名为“SSIS 脚本组件作为源”。

双击它将打开数据流选项卡。有关更多转换,请点击此处 >> 点击这里。
步骤 2:将“脚本组件”从 SSIS 工具箱拖放到数据流区域。将脚本组件放置在数据流区域后,将打开一个名为“选择脚本内容类型”的新弹出窗口。在此示例中,我们要演示 SSIS 脚本组件作为源,因此我们选择“源”选项。

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

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

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

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

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

步骤 5:在“脚本”选项卡中,请单击“编辑脚本...”按钮以编写实际的 C# 脚本。
提示:您可以使用 ScriptLanguage 属性将语言更改为 VB.Net。

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

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

我们在上面的屏幕截图中使用的代码是:
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 目标。

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

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

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

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

从上图可以看出,我们的包已成功执行。让我们打开 Management Studio 并编写以下查询来查看数据。
SELECT [ID]
,[Name]
,[Country]
FROM [SSIS Script Component as Source]
输出

评论已关闭。