Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 是否从SSRS报告按钮运行SSIS作业?_Sql Server 2008_Reporting Services_Ssis_Ssrs 2008_Ssrs 2008 R2 - Fatal编程技术网

Sql server 2008 是否从SSRS报告按钮运行SSIS作业?

Sql server 2008 是否从SSRS报告按钮运行SSIS作业?,sql-server-2008,reporting-services,ssis,ssrs-2008,ssrs-2008-r2,Sql Server 2008,Reporting Services,Ssis,Ssrs 2008,Ssrs 2008 R2,我可能肯定这件事做不到,但无论如何我会和你们核实的 我们有和SSI作业和SSRS报告。SSIS作业从远程系统向本地服务器生成数据;SSRS报告从SSIS作业生成的本地数据 来自SSIS作业的数据每天更改无数次,但SSIS作业仅每小时更新一次。假设作业在早上7:01运行,用户在早上7:50生成报告。很有可能在这49分钟内数据发生了变化 所以我有两个选择: 1.从用于报告的存储过程中执行SSIS作业。因此,当我调用报表时,SP将首先执行SSIS作业并更新数据,然后执行返回报表数据的SELECT语句。

我可能肯定这件事做不到,但无论如何我会和你们核实的

我们有和
SSI
作业和
SSRS
报告。
SSIS
作业从远程系统向本地服务器生成数据;
SSRS
报告从
SSIS
作业生成的本地数据

来自SSIS作业的数据每天更改无数次,但SSIS作业仅每小时更新一次。假设作业在早上7:01运行,用户在早上7:50生成报告。很有可能在这49分钟内数据发生了变化

所以我有两个选择: 1.从用于报告的存储过程中执行SSIS作业。因此,当我调用报表时,SP将首先执行SSIS作业并更新数据,然后执行返回报表数据的SELECT语句。这里的问题是SSIS作业需要几秒钟的时间,因此报告似乎很慢

  • 在SSRS报告中添加一些按钮,以执行SSIS作业。这样,如果用户在报告中得到过时的结果,他可以调用SSIS作业并再次运行报告
  • 所以我倾向于第二个按钮,但我不知道是否可以在报告中添加另一个按钮来执行SSIS作业。我还想为此使用SSRS(即不创建显示报告的Web表单)


    非常感谢您的帮助。

    关于第二个选项,您可以创建一个
    @RunJob
    参数,可能是
    布尔值
    类型,然后在数据集中验证用户是否选择了
    True
    来运行作业。您应该将默认值设置为
    False
    ,以避免每次生成报告时都执行作业

    在数据集查询中,如果参数
    @RunJob
    为True,则使用
    sp\u start\u job
    存储过程运行执行SSIS包的作业,否则仅检索报告数据

    虽然这可以帮助你得到你需要的东西,但我不建议你这么做 出于您的目的使用SSR,因为它不会影响任何情况 底层数据库


    请告诉我这是否有帮助。

    您可以使用参数来确定是否运行存储过程。将默认设置为

    在数据集的开头添加一行,检查参数并在必要时运行SP(参数=是)


    如果用户想要刷新,他会将参数更改为YES并重新运行它。

    您可以构建一个运行SSIS包的ASP.NET页面;我想通过调用page_load函数前面的答案中提到的sp_start_job过程。 然后可以从SSRS报告调用该页面,例如,通过将文本框的操作设置为页面的url。
    我想那会管用的

    SSIS作业有多复杂?它只是复制数据吗?您可能希望查看某种复制设置,而不是每小时手动复制数据。以实现“刷新按钮”效果。您可以隐藏此参数,并添加一个带有“刷新数据”的文本框,该文本框的操作设置为“转到报告”;将此参数设置为True。
    IF @RUN_SP = 'YES'
      EXEC SP_Refresh_Data