Groups | Blog | Home
all groups > sql server reporting services > august 2004 >

sql server reporting services : Report rendering in webform


Kam
8/11/2004 8:51:01 PM
Hi,
Currently I display report in my webform (website) using
Reportviewer.ReportURL method which fetch report from Report Manger through
Http:// port. which takes too much to rendering report.
Is there any method through which I can render report in my webpage through
reprot API or something like that so that it doesn't fetch report through
http port and rendering time should be fast.

Kam
8/12/2004 6:15:03 AM
How to check R S Exectuion Log ?

[quoted text, click to view]
Teo Lachev
8/12/2004 8:42:14 AM
Kam,

I am curious as to how you determined that using HTTP-GET causes the slow
performance? Did you look at how long it takes for the database query to be
processed, report to be generated and rendered?

Requesting your reports via HTTP-GET is the fastest way to generate them.
Think of the Report Server (not Report Manager) as a web application. Your
request/response total latency consists of submitting the report request to
the Report Server, querying the database, generating the report, rendering
the report, sending the report payload to the Report Viewer (browser), and
displaying the report in the browser. From this latencies, you should focus
on minimizing the time it takes to query the database and generate the
report.

Here is a tip: use the RS Execution Log to find out how much the Report
Server spends querying, generating and rendering your report.

--
Hope this helps.

----------------------------------------------
Teo Lachev, MCSD, MCT
Author: "Microsoft Reporting Services in Action"
http://www.prologika.com


[quoted text, click to view]

Teo Lachev
8/12/2004 9:39:53 AM
Kam,

The RS Execution Log is stored in the ExecutionLog table in the RS
ReportServer database. For analyzing its data easier, you need to install
the Execution Log DTS package. Check the Rs documentation for the following
topics:
- Report Server Execution Log
- Querying and Reporting on Report Execution Log Data

--
Hope this helps.

----------------------------------------------
Teo Lachev, MCSD, MCT
Author: "Microsoft Reporting Services in Action"
http://www.prologika.com


[quoted text, click to view]

Cédric Naudy
8/12/2004 3:20:02 PM
Here is a code to render a report in a stream sent to an aspnet page.

//Create a Reporting Service Object (you have to add a reference to it in
VS.NET)
localhost.ReportingService s = new localhost.ReportingService ();
//specify the credentials
s.Credentials = new System.Net.NetworkCredential("myuser",
"mypassword","");

try
{

// Render arguments
byte[] result = null;
string reportPath = "/Test/Rlinktest";
string format = "HTML4.0";
string historyID = null;
string devInfo = "";

string showHideToggle = null;
string encoding;
string mimeType;
localhost.Warning[] warnings = null;
localhost.ParameterValue[] reportHistoryParameters = null;
string[] streamIDs = null;
localhost.SessionHeader sh = new localhost.SessionHeader();
s.SessionHeaderValue = sh;

//call the render method of webservice

result = s.Render(reportPath, format, historyID, devInfo, null, null,
showHideToggle, out encoding, out mimeType, out
reportHistoryParameters, out warnings,
out streamIDs);

Response.ClearContent();
Response.ContentType="text/html";
Response.BinaryWrite(result);
Response.Flush();


}
catch (Exception ex)
{
Response.Write(ex.ToString());
}

Cédric


[quoted text, click to view]

AddThis Social Bookmark Button