我应该使用SSRS还是SSIS?

时间:2011-08-04 19:37:11

标签: ssis ssrs-2008

我有一个Oracle查询,我想每天将查询结果导出到一个excel文件。我已经研究过SSRS和SSIS,并且不确定哪个更好用。

查询是一个返回10-20个字段的普通选择。这是非常直接的几个连接和where子句。它选择DISTINCT来摆脱重复的行。

这是从查询到excel文件的直接映射。

SSIS是否具有优于SSRS的性能优势?

我倾向于SSRS,因为它设置起来非常简单,并且通过SSRS Web UI轻松运行我们的提取/报告与不同日期的好处。

SSIS似乎设置起来会更复杂,但仍然很简单。但是,似乎我必须处理如何在不使用主excel“模板”的情况下重命名提取,因此涉及更多步骤。还有问题让参数与Oracle查询一起使用。

3 个答案:

答案 0 :(得分:3)

这不是报告,因此请勿使用Reporting Services。

为此所需的SSIS包是一个包含两个组件的数据流任务:Oracle查询的“OLE DB源”和“Excel目标”。在两个组件之间建立连接,配置它们,按F5,然后就完成了。


几乎SSIS中的任何属性都可以设置为表达式的值。这包括Excel连接管理器的“ExcelFilePath”属性。只需将其设置为将日期附加到文件路径的表达式,只要您每天只运行该包,就会设置它。

如果您需要每天多次运行它,那么只需在数据流任务之前添加文件系统任务即可删除该文件的任何先前版本。


我自己试了一下,发现了一个小问题。我使用的数据源包括VARCHAR列。 Excel目标需要Unicode,因此我必须在源和目标之间放置数据转换组件。

答案 1 :(得分:3)

即使我是SSIS的忠实粉丝,我也会在这种情况下使用SSRS。

  1. 您的要求是您只需要Excel文件中的数据。虽然SSIS和SSRS都可以完成这项任务。 SSRS在您尝试实现的目标方面略有优势。

  2. 您可以根据需要格式化SSRS报告中的Excel文件。

  3. 与易于配置的SSIS包类似,SSRS也有更简单的开发过程。您可以根据需要进行设计和填充。

  4. SSIS需要SQL作业来安排它以便运行包,然后将Excel文件发送给您或将其保存到某个位置。但是,在SSRS中,您只需创建订阅并将Excel文件导出到特定文件夹,或通过电子邮件将其发送给您。

  5. 如果您想更改文件导出格式,SSRS已经为您执行此操作。

  6. 我能想到的一些观点。

答案 2 :(得分:1)

此链接对您提交的案例进行了很好的评估:

http://theruntime.com/blogs/gscarfone/archive/2009/07/15/data-dump-to-excel-through-ssis-and-ssrs.aspx

基本上这取决于你的特定场景。

希望它有所帮助...