将SQL Reporting Service集成到C#WebAPI应用程序中

本文关键字:C#WebAPI 应用程序 集成 SQL Reporting Service | 更新日期: 2023-09-27 18:22:18

我想将SQL Reporting Service集成到我的C#WebAPI应用程序中。我已经读过

http://msdn.microsoft.com/en-us/library/aa964126%28v=sql.90%29.aspx

http://msdn.microsoft.com/en-us/library/aa964126(v=sql.90).aspx

但要么我忽略了相关部分,要么我的问题没有得到回答。

因此,首先:我已经创建了一个rdl文件。当我的报表API被调用时,我想预处理数据,将其放入sql server,创建PDF报表,将其存储在IIS上,销毁可能留在报表服务器上的所有副本,从sql server中删除数据,然后完成。

我如何使用C#WebAPI和SQL报表服务器做到这一点,或者这是不可能的?

特别是:有没有一个库可以让我通过SOAP与报表服务器一起工作,或者我必须自己构建SOAP调用?

将SQL Reporting Service集成到C#WebAPI应用程序中

如果您不需要完整的报表服务器安装的所有"enterprisey"功能,您可以在web api项目中包含LocalReport。您可以从代码中实例化它,绑定到对象,获取PDF的字节数,并通过web api服务将其发回。这实际上是我喜欢的报告方式,它是应用程序的一部分,使用应用程序许可模型而不是SSRS,使用应用部署模型而不是SSLS。对我来说最重要的是,上次使用时导出格式有点受限于PDF、Excel和Word。

LocalReport report = new LocalReport();
report.ReportPath = "SomePath";
report.DataSources.Clear();
report.DataSources.Add(new ReportDataSource("SomeDataSourceName", 
        SomeCollectionObject));
report.DataSources.Add(new ReportDataSource("SomeOtherDataSourceName", 
            SomeOtherCollectionObject));
Warning[] warnings;
string[] streamids;
string mimeType, encoding, filenameExtension;
byte[] array = report.Render("PDF", null, out mimeType, out encoding, out filenameExtension, out streamids, out warnings);