我使用的是 VS 2008
所以我有两个变量 count_a 和 count_b 在包范围内声明为 Int32 变量 我已在脚本任务编辑器的 ReadOnlyVariables 列表中添加了两个变量
我的脚本任务中的代码如下所示:
if (Dts.Variables["count_a"].Value == Dts.Variables["count_b"].Value)
{
//do something
}
else
{
//do something
}
两个变量的默认值都是零。当我单步执行代码时,我看到两个变量的值都为零,但是在计算此表达式时: Dts.Variables["count_a"].Value == Dts.Variables["count_b"].Value
我得到了一个错误
以前有人见过这样的事情
感谢任何建议
最佳答案
您不是在比较 0 与 0。而是在比较 count_a 与 count_b 的内存地址。您需要访问对象的 .Value
属性才能获取值。请注意,您需要将 Value 转换为原始类型。对于您正在执行的比较,.Value.ToString()
就足够了
关于SSIS脚本任务int32变量比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21606589/