【问题标题】:How to set package variable value in script component in SSIS如何在 SSIS 的脚本组件中设置包变量值
【发布时间】:2024-04-22 20:20:02
【问题描述】:

我有包变量(TableName),它的值由每个循环容器设置。

例如 TableName = sales set by for each loop after looping through informationschema.tables 然后我想在数据流中使用 TableName 的值,我正在使用脚本组件。

当我使用脚本组件在脚本文件中读取 TableName 的值时,我看不到变量,不知道为什么?

我使用脚本组件作为源,并且 TableName 在只读变量中。

请帮忙,因为我是 SSIS 的新手。

【问题讨论】:

标签: sql-server ssis business-intelligence


【解决方案1】:

在 Foreach 循环编辑器的“变量映射”页面上,将变量分配给单个枚举项返回的每个数据项。例如,Foreach 文件枚举器仅返回索引 0 处的文件名,因此只需要一个变量映射,而在每行中返回多列数据的枚举器需要您将不同的变量映射到要使用的每一列在脚本任务中。 +

将枚举项映射到变量后,必须将映射的变量添加到脚本任务编辑器的脚本页面上的 ReadOnlyVariables 属性,以使它们可用于您的脚本

更多详情请查看以下链接

https://docs.microsoft.com/en-us/sql/integration-services/extending-packages-scripting/task/using-variables-in-the-script-task

https://social.technet.microsoft.com/wiki/contents/articles/22194.use-ssis-variables-and-parameters-in-a-script-task.aspx

【讨论】:

    【解决方案2】:

    请使用以下Microsoft Documentation 链接 - 它描述了脚本任务和脚本组件之间的差异,并提供了一些小代码示例,特别是关于使用变量的。

    【讨论】:

      【解决方案3】:

      根据this 我需要使用this.variables.myvariable

      谢谢大家。

      【讨论】: