2010-08-12 86 views
2

我正在写我的第一个SSIS pkg,我卡住了。任何有识之士将不胜感激。如何将参数传递给来自SSIS包的SSRS报告?

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

  • 此报告依赖于需要参数'When'(日期类型)的2个存储特效并将报告的PDF转储到文件共享。

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

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

回答

1

为什么你甚至需要SSIS呢?在SSRS中设置订阅,根据需要随时以您需要的格式导出需要的报告。 SSRS中的订阅也允许参数与订阅一起存储。

0

我想出了如何做到这一点。

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

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

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

这让我做一个

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

通过让我SSIS作业插入参数名称和值到这个表,我能够传递参数给SSRS报表的默认值。

好吧,它有点笨拙,但它的工作原理。如果有人有一个更清洁的方法来完成这件事,我很乐意听到它。

威廉 - SSIS工作是必要的,用驱动报表所依赖的数据集的数据填充数据库。

相关问题