Variables 捕获时间并将其作为字符串存储在SSIS中

Variables 捕获时间并将其作为字符串存储在SSIS中,variables,time,ssis,Variables,Time,Ssis,我有一个输出csv文件的SSIS包。平面文件连接管理器使用带有变量的连接字符串表达式在处理任务时构造文件名,例如,它们都以日期和时间变为用下划线分隔的无间隙字符串结束 \\server1\departments\Management Information\GDPR\Watch Folder Files\Marketing_Consent_20180726_1400.csv 我用来从日期捕获时间并将其转换为字符串的变量表达式如下: SUBSTRING((DT_WSTR, 25) (DT_DAT

我有一个输出csv文件的SSIS包。平面文件连接管理器使用带有变量的连接字符串表达式在处理任务时构造文件名,例如,它们都以日期和时间变为用下划线分隔的无间隙字符串结束

\\server1\departments\Management Information\GDPR\Watch Folder Files\Marketing_Consent_20180726_1400.csv
我用来从日期捕获时间并将其转换为字符串的变量表达式如下:

SUBSTRING((DT_WSTR, 25) (DT_DATE) GETDATE(), 12, 2 ) + 
SUBSTRING((DT_WSTR, 25) (DT_DATE) GETDATE(), 15, 2 )
其中的缺陷是它使用了GETDATE()。当进程运行时,如果创建文件后时间间隔为一分钟,则假定要移动文件的后续文件系统任务不会这样做,因为它正在查找一个以1401.csv结尾的文件,而实际创建的文件以1400.csv结尾


我是否可以在包的开头捕获时间,然后存储它并在整个包中使用相同的时间戳,而不是通过调用GETDATE()函数不断刷新它?

是,在包的开头使用脚本任务或执行SQL任务将GETDATE()的值存储在包变量中。

是,在软件包开始时,使用脚本任务或执行SQL任务将GETDATE()的值存储在软件包变量中。

Duh,真不敢相信它这么简单,非常有用谢谢!哇,真不敢相信这么简单,真是太棒了谢谢!