【问题标题】:How can I send out a script task email in SSIS that includes all files found in folder如何在 SSIS 中发送包含文件夹中所有文件的脚本任务电子邮件
【发布时间】:2021-05-22 13:51:30
【问题描述】:

我正在创建一个包,第一步是发送一封电子邮件(使用脚本任务,脚本语言 microsoft visual basic 2019),告诉收件人已收到哪些文件进行处理。我目前正在使用 Foreach 循环容器内的 ScriptTask 任务来执行此操作。

电子邮件成功发送,但它会为找到的每个文件发送单独的电子邮件,而不是发送一封列出所有找到的文件的电子邮件。 (我尝试将 ScriptTask 从 Foreach 循环容器中取出,但没有成功)

, , ,

【问题讨论】:

    标签: visual-studio ssis visual-studio-2019 script-task foreach-loop-container


    【解决方案1】:

    程序正在按预期执行 - for each file 循环容器会枚举与搜索模式匹配的每个文件,然后您对其执行操作(发送电子邮件)。

    您要做的是删除您的 For each file 循环容器。

    相反,您的脚本任务将生成一个文件列表,然后您将其修补到您的电子邮件正文中。

    BooksOnLine 似乎不再有 VB 示例,但您想使用 System.IO.Directory.GetFiles 静态方法。

    ' Logic here for building out the body of the email aka list of files
    Dim filePath as string = "\\longservername\share\path\etc"
    Dim filePattern as string = "*.txt"
    
    ' Whatever the VB syntax is for creating an array
    var fileArray = System.IO.Directory.GetFiles(filePath, filePattern)
    
    ' again, I don't have VB handy but this will create a comma delimited list of all of our files
    Dim allFiles as string  = string.join(fileArray, ",")
    
    ' at this point, we resume your code
    e_email.Body = allFiles
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-15
      • 1970-01-01
      • 2017-11-01
      • 1970-01-01
      相关资源
      最近更新 更多