У меня есть пакет dtsx с ограничением приоритета, который оценивает выражение и ограничение. Ограничение - «успех», а выражение - «@myVariable» == 3. myVariable - это int32, и когда он установлен в графическом интерфейсе Visual Studio, пакет работает нормально. Есть два других пути, которые проверяют, чтобы значение было 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.
Тот факт, что это хорошо работает с графическим интерфейсом и что документация microsofts утверждает == (интуитивно) возвращает логическое значение, меня очень смутило. Я также попытался окружить 3 двойными кавычками в моей команде без удачи, и теперь у меня нет идей.
Кто-нибудь имеет представление о том, что происходит?