在SSIS流程任务中利用环境变量

时间:2016-10-12 12:58:01

标签: windows ssis ssis-2012

我使用7z压缩SSIS中的一些文件: enter image description here

这样可行,但我需要将日期放在zip中。所以我尝试了这个: enter image description here

在命令行中,这非常有效。在SSIS中,它崩溃了。这告诉我SSIS有调用命令变量的问题。我怎么在那里得到那个日期?这是我正在寻找的当前日期(执行日期)。

感谢。

1 个答案:

答案 0 :(得分:1)

这取决于您要用于字符串的格式,但是向SSIS组件添加动态元素的方式是通过每个项目的属性中的Expressions组。选择Execute Process Task转换后:

  1. 点击属性中的表达式框 - 这将是空的 - 然后点击右侧显示的...图标。
  2. 点击Property下拉菜单,然后选择参数。
  3. 点击...图标。
  4. 输入您的表达式,点击Evaluate Expression确认其有效。
  5. 就是这样!点击所有内容的OK,然后尝试运行您的包。
  6. 您可以在互联网上获得有关如何构建该表达式的帮助。如果您只想yyyy-mm-dd,那么left((DT_WSTR,50)getdate(),10)就是日期部分所需要的,您可以填写其余部分。

    请记住,某些角色之前需要\,因为它们具有特殊含义并需要进行转义。因此,如果您想要返回\\server\share,那么您的表达式将为"\\\\server\\share"等。

    只是要添加,看起来您要以dd-mm-yyyy格式将日期添加到文件名中?我建议不要这样做,因为它会导致美国和英国系统混淆,当你有yyyy-mm-dd Score Backup.zip作为你的文件名时,他们会在Windows资源管理器中正确排序,而dd-mm-yyyy每个月的第一个文件都是for (i = idx; i < idx + 10 && i < li.length; i++) { some code here } idx += 10; 无论月份或年份,都将位于最高位置。