我正在使用SSIS 2012中的FOR LOOP容器。我希望此循環能夠執行,除非我擁有的布爾變量的值爲FALSE。 但是,當我嘗試設置For循環容器的EvalExpression屬性時出現錯誤: 無法將'System.Boolean'轉換爲'System.String'。 我設置的表達:FOR SSIS 2012中的循環容器
@[User::myVar] = FALSE
如何設置的表達,因此如果該值爲false然後我打出來的for循環?
我正在使用SSIS 2012中的FOR LOOP容器。我希望此循環能夠執行,除非我擁有的布爾變量的值爲FALSE。 但是,當我嘗試設置For循環容器的EvalExpression屬性時出現錯誤: 無法將'System.Boolean'轉換爲'System.String'。 我設置的表達:FOR SSIS 2012中的循環容器
@[User::myVar] = FALSE
如何設置的表達,因此如果該值爲false然後我打出來的for循環?
您有一到兩個問題。
首先是myVar的必須是布爾類型
第二個也是更陰險的是,你正在分配的假到您的變量的值=
。你想要做的是test你的變量是否爲False。比較運算符是==
它是布爾類型,我需要使用==。 – user3801452 2015-03-31 17:06:11
我也遇到了一個巨大的痛苦,試圖將EvalExpression設置爲一個變量,因爲這是我會直觀地期望它接受。事實證明,它看起來像是初始值,不會重新評估,如果你只是放置一個值而不是操作。 意思是說,無論@ [User :: myVar]被默認爲,這就是for循環的無限期。我會假設它會重新評估它是EvalExpression中的一個運算符 - 即使您嘗試使用表達式 – Sam 2017-06-13 16:28:02
是什麼數據類型'@ [用戶:: myVar的]' – billinkc 2015-03-31 16:46:20