【问题标题】:How do I Load the file name into a new column through SSIS, using variables?如何使用变量通过 SSIS 将文件名加载到新列中?
【发布时间】:2016-10-05 09:40:23
【问题描述】:

我有一组动态变化的文件,我正在使用 foreach 循环容器来更新它们。

我使用两个变量 (1) 用于文件路径和 (2) 用于源文件夹。

我需要将文件名插入到单独的列中。

文件名:

XYZ0000_2016_04_Application_Report.csv
ABC0000.10_2016_04_Application_Report.csv

我只需要将XYZ0000 插入新列。

如何在变量的帮助下做到这一点?

【问题讨论】:

  • 还有第二个文件:ABC0000.10 还是 ABC0000?
  • 我需要将文件名更新到单独的列中。字面意思是什么?
  • 我有多个文件,如 XYZ0000_2016_04_Application_Report.csv,我只需要文件 XYZ0000 的一部分,我需要放 XYZ0000 b> 进入一个新列。我如何使用变量来做到这一点?
  • @Joe 这只是一个例子 ABC0000.10 这就是文件的样子。
  • 是的,但是在文件名中,您的分隔符是_?

标签: sql sql-server csv ssis


【解决方案1】:

将Derived Column 转换添加到您的数据流并使用以下表达式:

LEFT(@[User::FileName],FINDSTRING("_", @[User::FileName], 1))

这假设您正在从 Loop 容器记录您的文件名

【讨论】:

  • @Dave:感谢您的帮助,该查询帮助了我。你能帮我解决另一个问题吗:- 我的文件路径为 D:\SGIP\test1\XYZ0000_2016_04_Application_Report 我该怎么做这个文件路径。
  • @mirsafi 您不只是将文件名保存在变量中吗?如果您是我给出的答案,那么在这种情况下也可以使用。
【解决方案2】:

那么,试试这个:

SELECT SUBSTRING(yourfield, 0, CHARINDEX('_', yourfield))
FROM yourtable

【讨论】:

  • 非常感谢您的帮助乔。但我需要在 SSIS 包中进行。
  • 如何使用变量通过 SSIS 将文件名加载到 a 列中?
猜你喜欢
  • 1970-01-01
  • 2010-10-07
  • 2018-10-07
  • 2010-11-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多