如何使用SSIS

时间:2017-04-10 21:18:16

标签: sql .net excel-vba powershell ssis

我有一个简单的SSIS包。从数据库中提取数据,加载到.xls文件中,然后使用sp_send_dbmail任务向用户发送电子邮件。我做这项任务的报告很少。现在问题是我需要在发送给用户之前为这些文件添加密码。我可以通过两种方式执行此操作:手动密码保护模板并在SSIS中加载文件或加载和密码保护SSIS中的文件(两者)。 SSIS有一些限制,它无法打开受保护的文件,也没有任何方法可以将文件保护为任务。以下是我研究的几种方法:

  1. Excel Interop通过脚本任务:经过大量研究,我发现它不是最佳实践,因为它会导致许多服务器问题并需要许可,所以我放弃了这个想法。
  2. OpenXML通过脚本任务:它只适用于.xlsx,但我有.xls文件,我只能使用.xls
  3. Excel宏:我创建了一个完美保护文件的宏,但是如何执行此问题就出现了问题。研究发现它可以使用Interop执行。
  4. 编写一个将执行Excel宏的批处理文件:我还没有找到如何使用批处理文件运行它们的解决方案(如果可能的话)
  5. 使用PowerShell保护文件,然后通过SSIS中的“执行进程”任务执行它们。我不熟悉PowerShell,但我已经进行了研究,看到它是可能的。
  6. 我已经做了很多研究,我无法找到正确的解决方案。我的知识非常局限于SQL。任何建议都将不胜感激,谢谢!

1 个答案:

答案 0 :(得分:2)

正常加载文件然后使用powershell脚本或宏将其锁定(不确定是否可行)。锁定和解锁是SSIS的外部,因此最好通过某种脚本语言(如PowerShell)来处理。阅读本文

Lock Unlock excel files using PS script