【发布时间】:2016-10-13 00:18:07
【问题描述】:
在命令行中,这很完美。在 SSIS 中,它崩溃了。这告诉我 SSIS 在调用命令变量时遇到问题。我怎样才能得到那个日期?这是我正在寻找的当前日期(执行日期)。
谢谢。
【问题讨论】:
-
你可以使用表达式将日期放在名称中而不使用
%DATE...命令变量吗? -
你能告诉我怎么做吗?
在命令行中,这很完美。在 SSIS 中,它崩溃了。这告诉我 SSIS 在调用命令变量时遇到问题。我怎样才能得到那个日期?这是我正在寻找的当前日期(执行日期)。
谢谢。
【问题讨论】:
%DATE... 命令变量吗?
这将取决于您要为字符串使用的格式,但您向 SSIS 组件添加动态元素的方式是通过每个项目属性中的 Expressions 组。随你Execute Process Task 转型选择:
... 图标。Property 下拉菜单并选择参数。... 图标。Evaluate Expression检查它是否有效。OK 并尝试运行您的包。您可以在整个互联网上获得有关如何构建该表达式的帮助。如果你只需要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,每个月第一天的所有文件都将位于顶部,无论月份或年份。
【讨论】: