如何使用 SSIS 读取 Excel 电子表格中的变量值
How to read variable's value in Excel spreadsheet using SSIS
没有我有一个 SSIS 包,每 4 小时传输和归档文件一次。在该包内,我执行了 SQL 执行存储过程的任务,我在其中调用存档 table 中的一列。我的存储过程有效,每次我 运行 带有断点的项目时,我都可以看到一个变量正在获取列的值。
我需要做的下一步是将该值传输到 Excel 电子表格中。为此,我创建了具有 Excel 源、派生列和 Excel 目标的数据流任务。 Excel 源文件只是一个没有数据的临时文件,所以在派生列任务中,我将 'F1' 列替换为用户变量,在目标文件中,我将该值映射到正确的列.
每次我 运行 我得到一个成功的包 运行,但我的目标文件是空的。我不知道我做错了什么,我尝试了所有可能的选择,但它不起作用。
[
如你所说
Excel Source File is just a temporary file with no data in it.
数据流任务用于将数据从源传输到目标。如果源为空,则不会传输任何行。
您应该将 Excel 源列和派生列替换为脚本组件,该脚本组件根据存储所需值的变量生成行。
这是@Hadi 回答的代码:
使用脚本组件源。
- 将您的变量添加到读取的变量中
- 将您的输出列名称添加到 Output0 输出。
添加以下代码来创建要处理的数据
Output0Buffer.AddRow();
Output0Buffer.[Your Column Name] = Variables.[Your Variable name];
大功告成!!!
没有我有一个 SSIS 包,每 4 小时传输和归档文件一次。在该包内,我执行了 SQL 执行存储过程的任务,我在其中调用存档 table 中的一列。我的存储过程有效,每次我 运行 带有断点的项目时,我都可以看到一个变量正在获取列的值。
我需要做的下一步是将该值传输到 Excel 电子表格中。为此,我创建了具有 Excel 源、派生列和 Excel 目标的数据流任务。 Excel 源文件只是一个没有数据的临时文件,所以在派生列任务中,我将 'F1' 列替换为用户变量,在目标文件中,我将该值映射到正确的列.
每次我 运行 我得到一个成功的包 运行,但我的目标文件是空的。我不知道我做错了什么,我尝试了所有可能的选择,但它不起作用。
[
如你所说
Excel Source File is just a temporary file with no data in it.
数据流任务用于将数据从源传输到目标。如果源为空,则不会传输任何行。
您应该将 Excel 源列和派生列替换为脚本组件,该脚本组件根据存储所需值的变量生成行。
这是@Hadi 回答的代码:
使用脚本组件源。
- 将您的变量添加到读取的变量中
- 将您的输出列名称添加到 Output0 输出。
添加以下代码来创建要处理的数据
Output0Buffer.AddRow(); Output0Buffer.[Your Column Name] = Variables.[Your Variable name];
大功告成!!!