微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 SSIS 中发送脚本任务电子邮件,其中包含文件夹中找到的所有文件

如何解决如何在 SSIS 中发送脚本任务电子邮件,其中包含文件夹中找到的所有文件

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

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

Foreach Loop Container Collection Config Image

,

Foreach Variable Mapping Image

,

ScriptTask Code Image

,

Variables Used Image

解决方法

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

您想要做的是删除您的 For each 文件循环容器。

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?