【问题标题】:SSIS Script Task check if file existsSSIS脚本任务检查文件是否存在
【发布时间】:2014-04-13 20:28:33
【问题描述】:

我正在尝试使用脚本任务来检查文件是否在文件夹中。如果文件在那里,那么包将继续执行它的步骤,如果没有,它应该退出。我有一个变量 User::uvIfExistsFileName ,C# 脚本使用它来检查文件是否存在于某个位置。现在,我必须使用完整的文件名,即 data.csv 并且优先约束只有在文件名匹配时才会返回 true。我想要做的是将 IfExistsFileName 变量的值更改为从 data.csv 到 *.csv 的字符串。但是,当我将变量的第一部分设置为通配符时,它会返回不匹配的结果。我确定它应该这样做,我只是不知道如何让它在任何 .csv 文件存在时返回 true。我的 for each 循环在此过程之后使用通配符就好了,但我的脚本没有任何通配符。

提前感谢您的帮助。

【问题讨论】:

    标签: c# tsql variables ssis


    【解决方案1】:

    您需要添加另一个变量,该变量包含不带文件名的路径并使用 Directory.GetFiles 可能像这样:

    string[] files = System.IO.Directory.GetFiles(Dts.Variables["User::FolderPath"].Value.ToString(), 
    "*.csv", System.IO.SearchOption.TopDirectoryOnly);
    if (files.Length > 0)
        Dts.Variables["User::CsvFileExists"].Value = true
    

    【讨论】:

      猜你喜欢
      • 2013-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-05
      • 1970-01-01
      • 1970-01-01
      • 2023-01-20
      • 1970-01-01
      相关资源
      最近更新 更多