SSIS:无法锁定变量[使用完整路径]

时间:2016-01-14 15:29:52

标签: ssis

我创建了一个SSIS包,它应该创建一个文件并将其FTP,但是我遇到了问题。

  • 将变量@User:FilePath与表达式一起使用以创建一个动态文件名,其中包含日期部分以供导出 screenshot1 表达:

    "C:\\WFSDEV_WSD_SHIP_FROM_STORE_" + (DT_WSTR,4)DATEPART("yyyy",@[System::StartTime]) + 
    RIGHT("0" + (DT_WSTR,2)DATEPART("mm",@[System::StartTime]) ,2) + 
    RIGHT("0" + (DT_WSTR,2)DATEPART("dd",@[System::StartTime]),2) +
    RIGHT("0" + (DT_WSTR,2)DATEPART("hh",@[System::StartTime]),2) +
    RIGHT("0" + (DT_WSTR,2)DATEPART("mm",@[System::StartTime]),2) +
    RIGHT("0" + (DT_WSTR,2)DATEPART("ss",@[System::StartTime]),2) +
    ".VD01"
    
  • Data Flow任务包含OLE DB SourceFlat File Destination。后者使用变量(但'连接字符串'仍然填充评估值)

screenshot2

现在,在FTP任务中,我添加了一个表达式作为指向' LocalPath'的变量,它总是填充' LocalPath'评估值。 enter image description here

所以,这是我一直告诉我变量'的错误。无法锁定,但它是实际的VALUE,而不是变量名称。

enter image description here

2 个答案:

答案 0 :(得分:1)

尝试将FTP任务的IsLocalPathVariable属性值设置为False 如果这不起作用,则使用相同的表达式创建另一个变量,并在FTP任务LocalPath表达式中调用此新变量。

答案 1 :(得分:0)

在进一步的研究中,我发现使用“Expression Task”并选择我的单个变量作为列表中的FIRST TASK解决了这个问题。我猜它首先处理变量的创建。

screenshot