如何从SSIS包中将参数传递给SSRS报告?

时间:2010-08-12 20:36:36

标签: ssis ssrs-2008 reporting-services

我正在写我的第一张SSIS pkg而且我被卡住了。任何见解将不胜感激。

  • 我正在运行启动SSRS报告的sql代理作业。 (该作业是通过预定的订阅生成的。)

  • 此报告依赖于2个存储过程,这些过程需要参数“When”(日期类型),并将报告的PDF转储到文件共享。

  • 我的执行sql任务运行:EXEC msdb.dbo.sp_start_job N'myJobName';

如何将参数'When'的值传递给报告?

2 个答案:

答案 0 :(得分:1)

为什么你甚至需要SSIS呢?在SSRS中设置订阅,以您需要的格式将报告导出到您需要的任何计划中。 SSRS中的订阅允许参数与订阅一起存储。

答案 1 :(得分:0)

我想出了如何实现这一目标。

在SSRS中定义报告时,请启用“报告数据”视图。在此视图中,您将找到名为Parameters的文件夹。展开它会显示每个参数的节点。右键单击并查看参数属性。

我通过选择默认值>解决了我的问题从查询中获取值(指定数据集和字段)。我设置了一个名为ReportParams的新数据库表。

CREATE TABLE ReportParams ( ParamName varchar(50), ParamVal varchar(50) )

这让我做了一个

SELECT top(1) ParamVal FROM ReportParams WHERE ParamName = 'myparamname'.   

通过让我的SSIS作业将参数名称和值赋予此表,我可以将参数传递给SSRS报告的默认值。

好吧,它有些笨拙,但它确实有效。如果有人有更清洁的方法来完成这项工作,我很乐意听到它。

William - SSIS的工作是用数据库填充数据驱动报告所依赖的数据集所必需的。