【发布时间】:2021-01-20 11:42:16
【问题描述】:
我正在下载一个 json 文件,并使用数据流和脚本组件对象成功地将其放入表中。
在我的 json 文件中,有我应该导入的数字行计数以及导入数据需要多少页。
例如 “计数”:1925, “当前页面”:1, “总页数”:2, “结果”:
我在我的 url 上获取 json 文件,我必须指定我要获取的页面。 例如&page=" + 页号
我想自动化我的 SSIS 包来执行此操作。我已经设法分配用户变量以获取导入的计数行,通过使用脚本组件中的读写功能通过在 Post Execute 区域中分配要导入的行计数。
我想使用 For Loop 容器来循环数据流并继续导入数据,直到导入的行数等于要导入的行数。
我的问题是当我执行控制流时,我不断收到错误
为读写访问锁定的变量集合在 PostExecute 之外不可用。
如何更改变量以便我可以在 for 循环容器中使用它们?
根据 Brad 的要求添加了代码。
public override void PostExecute()
{
base.PostExecute();
Variables.RowsImported = i;
Variables.RowsTobeImported = totalcount;
if (totalcount > i)
Variables.PageNoExtra = Variables.PageNoExtra + 1;
MessageBox.Show(Variables.RowsImported.ToString());
MessageBox.Show(Variables.RowsTobeImported.ToString());
//MessageBox.Show(Variables.PageNoExtra.ToString());
}
【问题讨论】:
-
您如何访问脚本任务中的变量?我已经通过几种不同的方式访问它们(在脚本任务编辑器框中将它们指定为只读或读/写),或者您可以直接从 c# 代码访问它们而不执行此操作(尽管目前我无法找到我所做的代码这个)但如果你提供你是如何做的,我们可能会提供更好的帮助。
-
我正在使用数据流任务中的脚本组件来分配变量,但是在数据流完成将数据传输到SQL表后它们就丢失了。
标签: c# ssis dataflow script-task script-component