【问题标题】:ssis variable not evaluatingssis 变量未计算
【发布时间】:2017-02-17 12:15:21
【问题描述】:

我有一个将文件路径连接成字符串的变量,但我无法用它来评估连接。当我在脚本任务中显示变量的值时,我仍然看到所有的双引号(见下文)。我已将变量的评估表达式设置为真。

当我尝试将此变量用作 sql 命令时,错误是:

"invalid syntax near the +" 

(我相信这是下面redactedcol3下面的加号)

顺便说一句,属性表达式是您在开发过程中唯一可以评估变量值的地方吗? (表达式生成器)。

这是变量在脚本组件的消息框中的显示方式:

"SELECT redactedcol1,redactedcol2,rtrim(" + "'" + @user::LocalPath + " + "'" + "+[redactedcol3]) AS Path FROM dbo.SF_redacted where id=1"  

【问题讨论】:

    标签: sql-server ssis


    【解决方案1】:

    完全确定这是你想要的,但我认为是:

    "SELECT redactedcol1,redactedcol2,rtrim("
    + "'" 
    + @user::LocalPath 
    + "'" 
    + " + [redactedcol3]) AS Path FROM dbo.SF_redacted where id=1"
    

    注意删除的无关加号和双引号。 (我发现在 SSIS 中连接以将每个部分放在自己的行中时会有所帮助。)

    我还推荐BIDS Helper,这是一个免费工具,包括更好的 (IMO) 表达式构建 GUI,以及 Konesans' Expression Editor,它就像一个用于表达式的迷你 Intellisense 工作台。

    SSIS 项目中还有一个变量窗口(查看 -> 其他窗口 -> 变量),您可以在其中查看变量表达式的评估值。

    【讨论】:

      【解决方案2】:

      对于其他想知道为什么他们的表达式没有计算的人......

      http://www.sqlchicken.com/2012/02/ssis-expressions-not-evaluating-correctly/

      单击变量。确保“EvaluateAsExpression”是True

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-10-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多