使用.Net应用程序在计划时间导出报告

使用.Net应用程序在计划时间导出报告,.net,wpf,reporting-services,ssis,.net,Wpf,Reporting Services,Ssis,我需要运行和导出具有相同关键列的每日报告。 假设我们一天大约有50个报告,它在执行时运行(每个报告的时间不同),并且报告必须导出为excel文件 另一个显示报告状态的应用程序,如果用户想要查看报告,则必须通过按钮单击/超链接单击打开excel文件。 完成这项任务的最佳方法是什么。我目前的方法如下 我已经为所有报告创建了存储过程,这些报告将数据插入带有日期戳的主表。从主表中,maxtrix报表使用reportid提取报表数据,并使用同一报表将报表导出为excel文件。 在报告执行时,存储的过程被安

我需要运行和导出具有相同关键列的每日报告。 假设我们一天大约有50个报告,它在执行时运行(每个报告的时间不同),并且报告必须导出为excel文件

另一个显示报告状态的应用程序,如果用户想要查看报告,则必须通过按钮单击/超链接单击打开excel文件。 完成这项任务的最佳方法是什么。我目前的方法如下

我已经为所有报告创建了存储过程,这些报告将数据插入带有日期戳的主表。从主表中,maxtrix报表使用reportid提取报表数据,并使用同一报表将报表导出为excel文件。 在报告执行时,存储的过程被安排为SQL作业。当proc运行时,它会将reportid插入到数据驱动订阅(导出到excel文件)中使用的表中

数据驱动订阅每5分钟运行一次以生成报告。如果报表在上午10时02分运行,而订阅在上午10时05分开始,则很少有报表在执行报表过程和导出报表之间有5分钟的时间延迟。 我正在寻找将数据插入主表后导出报表的方法

当我试图用susbcriptionid调用ADDEVENT时,我遇到了锁定问题,因为几乎没有报表同时运行

请告诉我,如果你有任何方法,将适用于这种情况


TIA

关于什么:在浏览器中用SSR显示报告,并允许用户导出报告;如果用户需要更改报告,他可以将其导出到excel并进行更新,当然这不会更新数据库服务器上的数据;
或者,您可以使用自定义应用程序更新数据,在SSRS报告中添加指向该应用程序的链接,或者对设计元素使用操作

由于您已经使用SSIS包,因此应该能够使用OLE DB命令任务运行SSIS包中的过程; 然后,当运行存储过程的任务完成时,流程将继续执行生成报告/报表的任务


我还将使用SSIS系统变量StartTime作为时间戳,它是包开始运行的时间

我们正在将报告导出为excel文件,因此将减少最终用户手动导出报告的时间。报告大小从4KB到3MB不等。此外,我使用的是一个矩阵报表,它使用报表id提取不同的报表。如果最终用户导出报表,则在导出时它将具有默认名称,并且用户必须手动键入报表的名称。为了避免这些问题,我正在寻找自动导出它们的方法。对于导出,我在SSRS webservice的帮助下创建了一个SSIS包。同一软件包的多个实例是否可以同时运行,并使用不同的puthi-感谢您的回复。对不起,我有几天没上班了,所以不能早点回复。我还有一个问题。是否可以使用不同的参数运行SSIS包的多个实例。我仍在努力在报告执行时调用ssis包。如果我同时调用具有不同参数的ssis包,是否会出现死锁?可以使用两个或更多配置文件运行同一个包。您将参数放在配置文件中,因此答案是肯定的。您可以使用不同的参数运行SSIS包的多个实例。关于死锁如果继续,这取决于包的具体功能和它访问的数据,对此没有直接的答案,但是如果您看到性能问题,那么您可能可以在不同的时间运行SSIS包。