gpt4 book ai didi

ssis - SSIS Foreach循环容器动态文件名和路径,然后解压缩文件

转载 作者:行者123 更新时间:2023-12-04 17:00:27 29 4
gpt4 key购买 nike

我有一个包含多个文件的文件夹,名称为

P04_20140326_1234.zip
P04_20130324_58714.zip
P04_20130808_jurhet.zip
P04_20130815_85893.zip
etc

名称格式为P04_systemdate _ *。zip。

我想选择名称中包含currentdate的文件夹并将其解压缩,然后将提取的文件中的数据加载到表中。例如:名为A.txt的文件进入表A,命名为B的文件进入表B,依此类推。 ..

最佳答案

我想您已经完成了以下工作:

  • 添加一个Data Flow
  • 在数据流中,添加flat file sourceOle_DB destination
  • 配置flat file source指向您的文件之一,并连接所有适当的列,以便数据从文件流到数据库。

  • 如果所有这些都已经起作用,那么让我们做一次For-Each循环
  • 创建一个变量(默认为包根级别),并将其称为字符串
  • 类型的 CsvFileName
  • 添加一个ForEach loop(不是For循环)
  • 将循环类型更改为Foreach File Enumerator
  • 设置文件夹路径并查找* .csv
  • 在“变量映射”下,添加变量“User::CsvFileName”,并将索引设置为0-这意味着从Foreach循环返回的所有文件名都将显示在变量中。
  • 在“连接管理器”(底部)中,右键单击FlatFileSource,然后选择属性
  • DelayValidation设置为“True”
  • 单击“表达式”,然后单击省略号
  • 设置ConnectionString属性以使用“CsvFileName”变量

  • 运行。这应该加载所有文件。现在,如果您只想将其限制为某个日期,请执行以下操作:
  • 创建一个名为“FilterDate”的变量
  • 将值设置为要设置的日期(例如,20140322)
  • 在ForEach循环中,转到“集合”,然后单击“表达式”,然后单击省略号
  • 将FileSpec属性设置为"*" + @[User::FilterDate] + "*.csv"

  • 现在,它将仅过滤所需的文件。

    关于ssis - SSIS Foreach循环容器动态文件名和路径,然后解压缩文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22672468/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com