我有一个带有优先约束的 dtsx 包,它计算表达式和约束。约束是“成功”,表达式是“@myVariable”== 3。myVariable 是一个 int32,当在 Visual Studio 的设计 GUI 中设置时,包执行得很好。还有另外两条路径可以检查值是 1 还是 2。
但是,当我尝试从命令行运行包并为我的变量传递一个值时,它会出错,声称表达式不计算为布尔值!
命令:
dtexec /F "c:myPackage.dtsx" /SET
\Package.Variables[User::myVariable].Properties[Value];3
错误:
The expression "@myVariable == 1" must evaluate to True or False.
Change the expression to evaluate to a Boolean value.
这在 GUI 上运行良好并且微软文档声称 == (直观地)返回布尔值的事实让我非常困惑。我也试过在我的命令中用双引号将 3 括起来,但没有运气,现在我没有主意了。
有人知道发生了什么吗?