Coo*_*raw 0 ssis etl sql-server-2008 sql-server-2008-r2 business-intelligence
我有一个行计数组件,它使用全局变量X来存储数字; 到目前为止,它规则但是如果我在其ReadOnly变量中添加一个脚本组件,然后在其中使用它出于某种目的,流程会暂停一段时间然后崩溃说行数需要一个有效的变量.
是不是可以将行计数存储在变量中,然后从脚本comp中读取此变量.?
您不能在同一数据流中的任何其他位置使用在行计数转换中填充的变量.在数据流的PreExecute阶段,行计数锁定变量.尝试在脚本组件中使用该变量会使脚本尝试相同的事情(同时),因此SSIS会抛出错误.
但即使这没有发生,这里还有其他的事情发生.当您的数据流工作,并且行传递到行计数时,它实际上并没有用行计数填充SSIS变量.这将是非常低效的,因为行计数实际上是COM组件而SSIS变量是.Net.从COM使用.Net资源是"昂贵的",反之亦然.因此,行计数会在本地代码变量中累积值.在PostExecute阶段,Row Count然后将其收集的值推送到SSIS变量中.关键点是PostExecute阶段在数据流完成后发生.如果您能够在数据流中间的任何时间查看变量(有方法),您会看到它的值为零(或者在数据流开始之前设置的任何值).
如果要使用行数来执行条件操作,或者更新流中的行,则可以选择以下几种:
| 归档时间: |
|
| 查看次数: |
5240 次 |
| 最近记录: |