我正在写我的第一个SSIS pkg,我卡住了。任何有识之士将不胜感激。如何将参数传递给来自SSIS包的SSRS报告?
我正在运行启动SSRS报告的SQL代理作业。 (该作业是通过预定订阅生成的。)
此报告依赖于需要参数'When'(日期类型)的2个存储特效并将报告的PDF转储到文件共享。
我执行SQL任务运行此:EXEC msdb.dbo.sp_start_job N'myJobName';
如何将参数'When'的值传递给报告?
我正在写我的第一个SSIS pkg,我卡住了。任何有识之士将不胜感激。如何将参数传递给来自SSIS包的SSRS报告?
我正在运行启动SSRS报告的SQL代理作业。 (该作业是通过预定订阅生成的。)
此报告依赖于需要参数'When'(日期类型)的2个存储特效并将报告的PDF转储到文件共享。
我执行SQL任务运行此:EXEC msdb.dbo.sp_start_job N'myJobName';
如何将参数'When'的值传递给报告?
为什么你甚至需要SSIS呢?在SSRS中设置订阅,根据需要随时以您需要的格式导出需要的报告。 SSRS中的订阅也允许参数与订阅一起存储。
我想出了如何做到这一点。
当您在SSRS中定义报告时,打开“报告数据”视图。在这个视图中你会找到一个名为Parameters的文件夹。展开这显示每个参数的节点。右键单击并查看参数属性。
我通过选择默认值>从查询中获取值(指定数据集和字段)来解决我的问题。我建立了一个名为ReportParams的新数据库表。
CREATE TABLE ReportParams (ParamName varchar(50), ParamVal varchar(50))
这让我做一个
SELECT top(1) ParamVal FROM ReportParams WHERE ParamName = 'myparamname'.
通过让我SSIS作业插入参数名称和值到这个表,我能够传递参数给SSRS报表的默认值。
好吧,它有点笨拙,但它的工作原理。如果有人有一个更清洁的方法来完成这件事,我很乐意听到它。
威廉 - SSIS工作是必要的,用驱动报表所依赖的数据集的数据填充数据库。