【发布时间】:2013-12-05 21:42:44
【问题描述】:
这是我在脚本任务中尝试做的事情:
long lngMaxRowsToPull = Convert.ToInt64(Dts.Variables["Project::MaxRowsPerPull"].Value);
我收到一条错误消息,指出该变量不存在。
但它被定义为脚本的 ReadOnlyVariable 并且它确实作为项目参数存在。
【问题讨论】:
这是我在脚本任务中尝试做的事情:
long lngMaxRowsToPull = Convert.ToInt64(Dts.Variables["Project::MaxRowsPerPull"].Value);
我收到一条错误消息,指出该变量不存在。
但它被定义为脚本的 ReadOnlyVariable 并且它确实作为项目参数存在。
【问题讨论】:
如此接近。 ;)
您的代码正在尝试访问名为 Project::MaxRowsPerPull 的变量/参数
其实$很重要,所以你需要引用$Project::MaxRowsPerPull
还请注意,参数的数据类型为 Int32,但随后将其推入 Int64。您总是可以将较小的类型放入较大的容器中,但如果您尝试用太大的值填充参数,您的包就会爆炸。
【讨论】:
@[$Project::MaxRowsPerPull] 添加到重新定义的变量中。
您需要按照语法将 $ 添加到参数获取名称中。
long lngMaxRowsToPull = Convert.ToInt64(Dts.Variables["$Project::MaxRowsPerPull"].Value);
【讨论】: