使用 ssis 脚本任务将查询结果附加为电子邮件中的 excel,而不存储 excel
Posted
技术标签:
【中文标题】使用 ssis 脚本任务将查询结果附加为电子邮件中的 excel,而不存储 excel【英文标题】:Attach query result as excel in email without storing excel using ssis script task 【发布时间】:2020-08-29 13:08:56 【问题描述】:我需要使用 SSIS 脚本任务将表格的查询结果作为 excel 附件发送到电子邮件中。我不想存储 excel,因为它将在我的生产服务器中。 我们可以通过电子邮件将表格中的查询结果作为 abc.csv/abc.xls 附件发送吗?
谁能帮忙写代码?
【问题讨论】:
不,*** 无法帮助您编写代码。这不是这个网站存在的目的。 当您开始或开始使用新的语言/环境时,最大的挑战是将问题分解为可管理的部分。看来您已经掌握了需要发生的事情(运行带有结果的查询,以类似表格的格式(csv、excel 等)存储结果、发送电子邮件、发送带有附件的电子邮件)。这些步骤中的每一个在此站点上都有多个答案,而且互联网上的许多解决方案仅在搜索引擎之外。细化您的问题,将其提炼成您无法获得或产生不正确结果的部分。然后向我们展示作品,以便我们提供帮助。 【参考方案1】:是的,你可以这样做。只是一些提示:
-
您必须将查询结果作为 RecordSet 变量传递给脚本任务。
然后,在脚本任务的代码中,将此 RecordSet 的内容转换为 CSV,写入
Stream
(很可能是 MemoryStream
)。
假设您使用SmtpClient
类来发送电子邮件,那么您可以将Stream
传递给您添加到代表您的电子邮件的MailMessage
实例的Attachment
类的构造函数。
【讨论】:
以上是关于使用 ssis 脚本任务将查询结果附加为电子邮件中的 excel,而不存储 excel的主要内容,如果未能解决你的问题,请参考以下文章
查询值和目标字段的数量不同 - C# 脚本任务 SSIS - 使用动态列将 SQL Proc 的结果导出到 Excel