【问题标题】:SSIS dynamically put rowcount in flat file destination expression nameSSIS 动态地将行数放入平面文件目标表达式名称中
【发布时间】:2015-12-18 19:35:32
【问题描述】:

我正在尝试动态创建文件名。 我能够获取日期,但我需要从 odbc 源读取的数据的行数。

我创建了一个名为“rowcount”的 int32 变量。在平面文件连接管理器“连接字符串”属性的表达式中,我有以下内容:

"E:\\path\\" + (DT_WSTR,4)DATEPART("yyyy",GetDate()) + RIGHT("0" + (DT_WSTR,2)DATEPART("mm",GetDate()) ,2) + RIGHT("0" + (DT_WSTR,2)DATEPART("dd",GetDate()),2) + "_" + (DT_WSTR, 20) @[User::rowcount]  +".csv" 

给出:

E:\文件夹路径\20151218_0.csv

但是当我运行项目时,它使用 0 而不是行数创建文件名。

任何帮助将不胜感激。 谢谢。

【问题讨论】:

  • 您没有描述实际填充 rowcount 变量的操作。你忘了那一步吗?
  • 对不起。我在 odbc 源之后放置了一个行数。 odbc 源 --> 行数 --> 平面文件目标

标签: ssis


【解决方案1】:

好的,问题是您的平面文件在 DataFlow 运行之前被创建(并因此被命名),而您的 rowcount 变量仍然为零,因为它尚未被填充。

处理此问题的唯一方法是在填充平面文件并获取行数后重命名它。唯一的方法是使用在 DataFlow 任务之后运行的脚本任务。

【讨论】:

  • 非常感谢。我能够使用文件系统任务来重命名控制流中的文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多