所以我更新了 SSIS 包中的数据库源查询。但是现在包裹在目的地失败了。在调试中,我得到这个输出:
The file name property is not valid. The file name is a device or contains invalid characters.
和
No destination flat file name was provided. Make sure the flat file connection manager is configured with a connection string. If the flat file connection manager is used by multiple components, ensure that the connection string contains enough file names.
根据我的研究,我认为日期变量没有正确转换。这很令人困惑,因为我没有触及表达式(FileLocation 变量除外)并且它的计算正确。
这是表达式:
@[User::FileLocation] + "\\GRADE_" + Right((DT_STR,4,1252) DatePart("yyyy",getdate()),2) +
Right("0" + (DT_STR,4,1252) DatePart("m",getdate()),2) +
Right("0" + (DT_STR,4,1252) DatePart("d",getdate()),2) + "_" +
Right("0" + (DT_STR,4,1252) DatePart("Hh",getdate()),2) +
Right("0" + (DT_STR,4,1252) DatePart("Mi",getdate()),2) +
Right("0" + (DT_STR,4,1252) DatePart("Ss",getdate()),2) +
Right("0" + (DT_STR,4,1252) DatePart("Ms",getdate()),2) + ".txt"
按照建议,我将变量设置EvaluatedAsExpression
为True
,但无济于事。
我尝试硬编码文件夹路径而不是使用变量,这似乎解决了这个问题。但我需要使用一个可配置的变量。问题是什么?
更新:
我注意到我使用的变量的范围在另一个包中。我如何才能查看范围外的变量?如果我突出显示了正确的包,并尝试创建一个包级变量,它的范围会被分配为不同的包吗?