我正在写我的第一张SSIS pkg而且我被卡住了。任何见解将不胜感激。
我正在运行启动SSRS报告的sql代理作业。 (该作业是通过预定的订阅生成的。)
此报告依赖于2个存储过程,这些过程需要参数“When”(日期类型),并将报告的PDF转储到文件共享。
我的执行sql任务运行:EXEC msdb.dbo.sp_start_job N'myJobName';
如何将参数'When'的值传递给报告?
答案 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的工作是用数据库填充数据驱动报告所依赖的数据集所必需的。