我有一个变量将文件路径连接成一个字符串,我无法通过它来评估连接。当我在脚本任务中显示变量的值时,我仍然看到所有的双引号(见下文)。我已将变量的evaluateasexpression设置为true。
当我尝试将此变量用作sql命令时,错误为:
"invalid syntax near the +"
(我相信这是下面redactedcol3下方的加号)
BTW,属性表达式是唯一可以在开发时评估变量值的地方吗? (表达式建设者)。这是变量在脚本组件的消息框中显示的方式:
"SELECT redactedcol1,redactedcol2,rtrim(" + "'" + @user::LocalPath + " + "'" + "+[redactedcol3]) AS Path FROM dbo.SF_redacted where id=1"
答案 0 :(得分:0)
不完全确定这是你想要的,但我认为是:
"SELECT redactedcol1,redactedcol2,rtrim("
+ "'"
+ @user::LocalPath
+ "'"
+ " + [redactedcol3]) AS Path FROM dbo.SF_redacted where id=1"
请注意删除的无关加号和双引号。 (我发现在SSIS中连接以将每个部分放在自己的行上时会有所帮助。)
我还推荐BIDS Helper,这是一个免费工具,包含一个更好的(IMO)表达式构建GUI,以及Konesans' Expression Editor,它类似于表达式的迷你智能感知工作台。
SSIS项目中还有一个变量窗口(视图 - >其他Windows - >变量),您可以在其中查看变量表达式的评估值。
答案 1 :(得分:0)
其他人想知道为什么他们的表达没有评估...
http://www.sqlchicken.com/2012/02/ssis-expressions-not-evaluating-correctly/
单击变量。确保“EvaluateAsExpression”为True