如何在ssis中读取csv文件的动态文件命名?

时间:2013-01-29 01:28:10

标签: ssis

您好我如何使用动态文件名读取文件?用于将csv数据导入我的数据库。

csv文件命名约定可以是:File-ddmmyyyyhhmmss.txt

任何人都可以提供建议吗?

3 个答案:

答案 0 :(得分:1)

将平面文件动态加载到目标的步骤。

  • 使用Foreach loop container
  • 在“收藏”标签中,选择“枚举器”为Foreach File Enumerator和 配置如下。

文件夹:源文件的位置

文件:File-*.txt [由于您的文件命名类似于File-ddmmyyyyhhmmss.txt]

检索文件名:选择Fully qualified Name [带来文件的整个位置]

enter image description here

  • Variable Mapping中,创建一个变量来存储Full file path 并配置如屏幕截图所示。

enter image description here

  • 使用示例文件创建Flat file connection
  • 选择一个平面文件,然后转到properties。找到expression propertymap the variable to the connection string如图所示 以下截图。 enter image description here
  

重要提示:

如果要在加载到目标表之前验证文件名和文件名的存在。使用For each loop container中的脚本组件并验证。

希望这有帮助。

答案 1 :(得分:0)

这是一步一步的指南

  1. 使用Foreach Loop Container(文件枚举器类型),将文件掩码设置为File-??????????????.txt
  2. 映射字符串变量以捕获匹配文件。
  3. 在此容器中添加Script Task以解析字符串变量以匹配实际的文件命名约定(提示:使用正则表达式)。任何成功的匹配都会像Foreach Loop Container找到的文件过滤器更大的文件列表。

答案 2 :(得分:0)