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

leveraging environment variables in SSIS process tasks

我正在使用 7z 在 SSIS 中压缩一些文件:

这行得通,但我需要在 zip 中包含日期。所以我尝试了这个:

在命令行中,这很完美。在 SSIS 中,它崩溃了。这告诉我 SSIS 在调用命令变量时出现问题。我怎样才能得到那个日期?就是我要找的当前日期(执行日期)。

谢谢。

这将取决于您要用于字符串的格式,但是您将动态元素添加到 SSIS 组件的方式是通过每个项目属性中的 Expressions 组。与你Execute Process Task蜕变selected:

  1. 单击属性中的表达式框(将为空),然后单击右侧显示的 ... 图标。
  2. 单击 Property 下拉菜单和 select 个参数。
  3. 单击 ... 图标。
  4. 输入您的表达式,单击 Evaluate Expression 检查它是否有效。
  5. 就是这样!点击 OK 并尝试 运行 你的包裹。

您可以在整个 Internet 上获得有关如何构建该表达式的帮助。如果您只想要 yyyy-mm-dd 那么 left((DT_WSTR,50)getdate(),10) 就是您需要的日期部分,您可以填写其余部分。

请记住,有些字符前面需要一个 \,因为它们具有特殊含义并且需要转义。所以如果你想 return \server\share 你的表达式将是 "\\server\share" 等等


补充一下,您似乎是以 dd-mm-yyyy 格式将日期添加到文件名中?我建议不要这样做,因为它会导致美国和英国系统之间的混淆,并且当您使用 yyyy-mm-dd Score Backup.zip 作为文件名时,它们将在 Windows Explorer 中正确排序,而使用 dd-mm-yyyy 所有文件每个月的第一天将位于顶部,无论月份或年份。