March 12, 2010 at 3:40 pm
A web application running on a web server makes requests to a Reporting Services instance (SQL Server 2005) running on a separate server to execute and return reports. Some of the reports can be large, having a negative impact on the web server.
Is there a way to ask Reporting Services to stream the report back to the web application in chunks so that it can then be streamed back to the user's browser in chunks? The web app is written in C#.
March 13, 2010 at 5:06 pm
MSco (3/12/2010)
A web application running on a web server makes requests to a Reporting Services instance (SQL Server 2005) running on a separate server to execute and return reports. Some of the reports can be large, having a negative impact on the web server.Is there a way to ask Reporting Services to stream the report back to the web application in chunks so that it can then be streamed back to the user's browser in chunks? The web app is written in C#.
You have two issues double hop because of separate servers, this being SSRS 2005 the Asp.net account in the SSRS server must be added to the server with the web application.
You know SSRS is Windows authentication by default so you may want to run it as forms authentication. The other option is to use ReportViewer control I have covered that in details in the thread below.
http://www.sqlservercentral.com/Forums/Topic822431-150-1.aspx
Kind regards,
Gift Peddie
March 14, 2010 at 10:04 pm
Thank you for the reply Gift Peddie.
What I am trying to determine though is whether SSRS has the ability to return a report in chunks instead of an entire byte array.
We are accessing SSRS via SSRS web services (ReportExecution2005.asmx) as follows.
SSRS returns the entire report as a byte array which we then send back to the user inside a div tag placeholder on an aspx page: <div id="ReportPlaceholder" runat="server"> </div>
[System.Web.Services.Protocols.SoapHeaderAttribute("ServerInfoHeaderValue", Direction=System.Web.Services.Protocols.SoapHeaderDirection.Out)]
[System.Web.Services.Protocols.SoapHeaderAttribute("ExecutionHeaderValue")]
[System.Web.Services.Protocols.SoapHeaderAttribute("TrustedUserHeaderValue")]
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices/Ren" +
"der", RequestNamespace="http://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", ResponseNamespace="http://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
[return: System.Xml.Serialization.XmlElementAttribute("Result", DataType="base64Binary")]
public byte[] Render(string Format, string DeviceInfo, out string Extension, out string MimeType, out string Encoding, out Warning[] Warnings, out string[] StreamIds) {
object[] results = this.Invoke("Render", new object[] {
Format,
DeviceInfo});
Extension = ((string)(results[1]));
MimeType = ((string)(results[2]));
Encoding = ((string)(results[3]));
Warnings = ((Warning[])(results[4]));
StreamIds = ((string[])(results[5]));
return ((byte[])(results[0]));
}
March 15, 2010 at 7:52 am
Thank you for the reply Gift Peddie.
What I am trying to determine though is whether SSRS has the ability to return a report in chunks instead of an entire byte array.
We are accessing SSRS via SSRS web services (ReportExecution2005.asmx) as follows.
SSRS returns the entire report as a byte array which we then send back to the user inside a div tag placeholder on an aspx page: <div id="ReportPlaceholder" runat="server"> </div>
So you want to take Webservice which is XML and convert it to html without code. You need to just deploy your code in the ReportViewer directly to the browser instead of creating Reporting service webservice. That creates html by default.
I am assuming you know .asmx is the Asp.net Webservice file and div is CSS web UI html style component.
Kind regards,
Gift Peddie
Viewing 4 posts - 1 through 4 (of 4 total)
You must be logged in to reply to this topic. Login to reply