Showing posts with label pdf. Show all posts
Showing posts with label pdf. Show all posts

Friday, March 23, 2012

Report Viewer Control + shared hosting

Hi all,

I have a question regarding the report view control and shared hosting. What I need to do is generate a .pdf report dynamically in my ASP.NET web-app using the aforementioned control. What I'm wondering is if this will be do-able on most shared hosts. For example, I know that most (if not all) shared hosts will not allow you to use Crystal Reports because it needs to be installed onto the server rather than on your slice of the server. Is there any installation required to use the report viewer? Conversely, if someone knows of a cheap ($10 - $20/mo) host that allows crystal report use that would be extremely helpful, since I've already done it in crystal reports :(.

Thanks in advance!

Mike

Hello,

You need to have a licensed SQL Server, for using SSRS. You do not require to install any thing on the server.

Please see the links below and select the one with Reporting services,

http://www.microsoft.com/sql/prodinfo/features/compare-features.mspx

Thanks,

Deepesh Verma

|||

Thanks for your reply. However, I am still a bit confused, as I'm not sure which row in the tables I need. Is it report server under business intelligence? If so, it appears I can get that w/ SQL Express, which is what I'm currently using. Any more feedback you can give would be appreciated.

|||

Yes for personal development you can use SQL Express. But if you want for commercial use then you have to go for any other option then Express.

Thanks

Report Viewer Control - Export to PDF, Works on local IIS computer, but not another.

When exporting a report to a pdf file, I am experiencing what seems to be a "hang up" on the server. The code executes fine from my development machine, but when moved to the server I get this response. I also recieve this message if I click the refresh button. Acrobat could not open 'pdf9c9.tmp' because it is either not a supported file type or because the file has been damaged (for example, it was sent as an email attachment and wasn't correctly decode). To create an Adobe PDF document, go to the source application. Then print the document to Adobe PDF.

Here is my code for reference. It works fine on one IIS, but not another. What could I be missing?

Dim warningsAs Microsoft.Reporting.WebForms.Warning() =Nothing

Dim streamidsAsString() =Nothing

Dim mimeTypeAsString =Nothing

Dim encodingAsString =Nothing

Dim extensionAsString =Nothing

Dim deviceInfoAsString

Dim bytesAsByte()

Dim lrAsNew Microsoft.Reporting.WebForms.LocalReport

lr.ReportPath ="Report1.rdlc"

'lr.DataSources.Add(New Microsoft.Reporting.WebForms.ReportDataSource("DischargeSummary", ObjectDataSource1()))

deviceInfo ="<DeviceInfo><SimplePageHeaders>True</SimplePageHeaders></DeviceInfo>"

bytes = ReportViewer1.LocalReport.Render("PDF", deviceInfo, mimeType, encoding, extension, streamids, warnings)

Response.ClearContent()

Response.ClearHeaders()

Response.ContentType ="application/pdf"

Response.BinaryWrite(bytes)

Response.Flush()

Response.Close()

Check security permission on the server.

Report Viewer - Export to PDF - Problem in strikethrough font

Hi,

I used a textbox with strikethrough font in my report. In preview, the report has that font and also in Print. But exporting to PDF has no strikethrough font. (Export to excel has this font). Can anybody help to resolve this.

Thanks in advance.

The PDF renderer does not currently support the strikethrough style on fonts.

Donovan

Wednesday, March 21, 2012

Report times out on Export after 90 seconds.

I have a report that is timing out after 90 seconds of run-time - but only
when exporting to an alternate file type (PDF, XLS, etc)- if I use the HTML
Viewer format, the report is displayed properly and only takes a couple of
seconds to run. The error message that I get back says "The operation has
timed-out", and I'll include the stack trace at the end of this message.
My application is calling the ReportingService.Render method using SOAP
Reporting Services Web Service to perform the export to a PDF format. I'm
able to see the same problem when using the Report manager to export the
report to PDF format. This report definition is using a table to display the
query results (no matrices), and is printing in landscape mode. I have RS
Service Pack 2 installed on the server.
The report is running off of a fairly small data set (4000-5000 records),
with a couple of tricky joins, but I can execute the query using SQL Server
Enterprise Manager in about 2 seconds. I have tried setting the data set
'Timeout' value to 3600 (1 hr) and 2147483647 (documentation named maximum
value) in the Report Designer for the .rdl itself (timeout element under
query element in rdl). I've tried setting "Connect Timeout=3600" in the
connection string for my Data Set defined on the Report Server. I have also
set the Report Server to not timeout report execution both in Site Settings
and the individual settings for the submitted report definition. What
timeout am I missing?
If I trim down my data set to under 1000 records, the Render call completes
before the timeout can occur, and I get my PDF. I've spent some time trying
to figure out what's going on, and am at a loss. Here's what I see happening
over time:
0:00 - Submit report - Render() call is made
0:05 - CPU Utilization on server jumps to 100%, I can see report job in
Report Manager
1:30 - I get error message back from Render() call saying "The operation has
timed-out."
2:35 - CPU utilization on server slows back down to normal, job is no longer
visible in Report Manager
Any help or suggestions greatly appreciated!With this same report, trying different export formats - this is what I've
found:
PDF - times out after 90 seconds
XLS - times out after 90 seconds.
TIF - times out after 90 seconds.
CSV - results show up after ~ 10 seconds.
HTML - results show up after ~ 10 seconds.
XML - results show up after ~ 10 seconds.
So it looks like anything that doesn't end up in a plain text export is
timing out on me. And here's that stack trace I promised earlier:
The operation has timed-out.
at System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest
request) at
System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest
request) at
System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String
methodName, Object[] parameters) at UT.RSRef.ReportingService.Render(String
Report, String Format, String HistoryID, String DeviceInfo, ParameterValue[]
Parameters, DataSourceCredentials[] Credentials, String ShowHideToggle,
String& Encoding, String& MimeType, ParameterValue[]& ParametersUsed,
Warning[]& Warnings, String[]& StreamIds) in C:\Documents and Settings\Ben\My
Documents\Visual Studio Projects\REPOUTIL\Web
References\RSRef\Reference.cs:line 653 at UT.repoutil.Page_Load(Object
sender, EventArgs e) in c:\documents and settings\ben\my documents\visual
studio projects\repoutil\repoutil.cs:line 5209|||Ben,
Can you render other reports without timeouts? If they all time out, I
would say its somthing wrong with the export feature...
If its just this one report it might just be taking a long time to render if
the report is large, I believe you can change the timeout values in one of
the rsserver config files to allow you more time to either get your export,
or generate some other type of error that your not seeing now because of the
timeout.
Hope this helps in some way.
"Ben Shaffer" wrote:
> With this same report, trying different export formats - this is what I've
> found:
> PDF - times out after 90 seconds
> XLS - times out after 90 seconds.
> TIF - times out after 90 seconds.
> CSV - results show up after ~ 10 seconds.
> HTML - results show up after ~ 10 seconds.
> XML - results show up after ~ 10 seconds.
> So it looks like anything that doesn't end up in a plain text export is
> timing out on me. And here's that stack trace I promised earlier:
> The operation has timed-out.
> at System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest
> request) at
> System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest
> request) at
> System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String
> methodName, Object[] parameters) at UT.RSRef.ReportingService.Render(String
> Report, String Format, String HistoryID, String DeviceInfo, ParameterValue[]
> Parameters, DataSourceCredentials[] Credentials, String ShowHideToggle,
> String& Encoding, String& MimeType, ParameterValue[]& ParametersUsed,
> Warning[]& Warnings, String[]& StreamIds) in C:\Documents and Settings\Ben\My
> Documents\Visual Studio Projects\REPOUTIL\Web
> References\RSRef\Reference.cs:line 653 at UT.repoutil.Page_Load(Object
> sender, EventArgs e) in c:\documents and settings\ben\my documents\visual
> studio projects\repoutil\repoutil.cs:line 5209
>|||Thanks Jason,
It's only one report that is giving me this headache. I have dozens more
that export before the timeout.
Can you point me towards any documentation on what the reportserver config
files are and what the settings do? I've found various *.config files in the
report server directories on the server, but haven't seen any keys that jump
out at me as being the right one for the timeout that's giving me grief.
"Jason Brinkley" wrote:
> Ben,
> Can you render other reports without timeouts? If they all time out, I
> would say its somthing wrong with the export feature...
> If its just this one report it might just be taking a long time to render if
> the report is large, I believe you can change the timeout values in one of
> the rsserver config files to allow you more time to either get your export,
> or generate some other type of error that your not seeing now because of the
> timeout.
> Hope this helps in some way.

Report Timeout

I have a report I execute from an Asp.Net front-end. The report is rendered
directly to PDF via a web services call to the Reporting Services web
service. For this particular report, at exactly 3 minutes, the report always
aborts processing and redirects to a "Page Cannot Be Displayed". The Report
Server log file at this time shows IsClientConnected...Orphan Request
detected or something like that. When I run the report via Report Manager,
everything works fine. I do specify a timeout value of 2400000 in my Asp.Net
where I'm consuming the web service. I've looked at almost every other
timeout but since it works fine in Report Manager, I am inclined to believe
the problem is in my Asp.Net code. Any ideas?Open your Reporing service's web service reference file and in the
constructor
add: "this.Timeout=......"
Works for web service access method.
"AdamB" <AdamB@.discussions.microsoft.com> wrote in message
news:290174E9-D359-4376-9EC7-591FC3421D74@.microsoft.com...
>I have a report I execute from an Asp.Net front-end. The report is
>rendered
> directly to PDF via a web services call to the Reporting Services web
> service. For this particular report, at exactly 3 minutes, the report
> always
> aborts processing and redirects to a "Page Cannot Be Displayed". The
> Report
> Server log file at this time shows IsClientConnected...Orphan Request
> detected or something like that. When I run the report via Report
> Manager,
> everything works fine. I do specify a timeout value of 2400000 in my
> Asp.Net
> where I'm consuming the web service. I've looked at almost every other
> timeout but since it works fine in Report Manager, I am inclined to
> believe
> the problem is in my Asp.Net code. Any ideas?|||I'm not sure where this file is that you are referring to. Also, in my
Asp.Net where I am consuming the web service, I am doing the following:
Dim rs As New WebService (where WebService is the name of my reference to
the Reporting Service ws)
rs.Timeout = 2400000
"Oleg Yevteyev" wrote:
> Open your Reporing service's web service reference file and in the
> constructor
> add: "this.Timeout=......"
> Works for web service access method.
> "AdamB" <AdamB@.discussions.microsoft.com> wrote in message
> news:290174E9-D359-4376-9EC7-591FC3421D74@.microsoft.com...
> >I have a report I execute from an Asp.Net front-end. The report is
> >rendered
> > directly to PDF via a web services call to the Reporting Services web
> > service. For this particular report, at exactly 3 minutes, the report
> > always
> > aborts processing and redirects to a "Page Cannot Be Displayed". The
> > Report
> > Server log file at this time shows IsClientConnected...Orphan Request
> > detected or something like that. When I run the report via Report
> > Manager,
> > everything works fine. I do specify a timeout value of 2400000 in my
> > Asp.Net
> > where I'm consuming the web service. I've looked at almost every other
> > timeout but since it works fine in Report Manager, I am inclined to
> > believe
> > the problem is in my Asp.Net code. Any ideas?
>
>|||Ok, I think you're talking about the Reference.vb file but I have no idea
where this timeout setting is supposed to go.
Adam
"Oleg Yevteyev" wrote:
> Open your Reporing service's web service reference file and in the
> constructor
> add: "this.Timeout=......"
> Works for web service access method.
> "AdamB" <AdamB@.discussions.microsoft.com> wrote in message
> news:290174E9-D359-4376-9EC7-591FC3421D74@.microsoft.com...
> >I have a report I execute from an Asp.Net front-end. The report is
> >rendered
> > directly to PDF via a web services call to the Reporting Services web
> > service. For this particular report, at exactly 3 minutes, the report
> > always
> > aborts processing and redirects to a "Page Cannot Be Displayed". The
> > Report
> > Server log file at this time shows IsClientConnected...Orphan Request
> > detected or something like that. When I run the report via Report
> > Manager,
> > everything works fine. I do specify a timeout value of 2400000 in my
> > Asp.Net
> > where I'm consuming the web service. I've looked at almost every other
> > timeout but since it works fine in Report Manager, I am inclined to
> > believe
> > the problem is in my Asp.Net code. Any ideas?
>
>|||"AdamB" <AdamB@.discussions.microsoft.com> wrote in message
news:D19C1C10-7F24-4834-9EAC-7A20650CE348@.microsoft.com...
> I'm not sure where this file is that you are referring to. Also, in my
> Asp.Net where I am consuming the web service, I am doing the following:
> Dim rs As New WebService (where WebService is the name of my reference to
> the Reporting Service ws)
> rs.Timeout = 2400000
Ok - seems like it is correct - just be sure to set that Timeout property on
every instance of "ws" you are creating.
More simple way is to open the reference file you correctly identified in
another post and place "rs.Timeout = 2400000"
in the constructor. In that case you wouldn't have to set that property on
every instance of "ws" you're creating.
I hope, you know what the constructor is.
There are a couple more places to check.
1. You can set in Page_Load method of your page
Server.ScriptTimeout=2400
2. Do it globally in machine.config or web.config
<configuration>
<system.web>
<httpRuntime executionTimeout="2400"
................................/>
in addtion of what you have already done.

Friday, March 9, 2012

Report service and automatically creating a PDF report.

woundering if there's a way for the user to automatically create a PDF report
via a report button.
Currently when users click the report button the users web interface opens
(would like to not the the web interface just create the PDF without any
interaction) then the user is prompted to open/saved/cancel.
Is it possible to click on the so called report button and automatically
create the PDF? no dialog boxes appering just create the PDF?
Is this a workstation issue with internet exploier?
Running the 2000 version of SQL & it's counter part of reporting services.
All workstations all XP Pro Sp2
MikeHi Mike,
Well I'm using RS 2005 and all the latest stuff here, so I'm not sure
if it'll work but here goes. From a website, my users click a button
and I then do this in C# my code :
//*******************************
string url;
int idStage =3D Convert.ToInt32(lblIdStage.Text);
int annee =3D Convert.ToInt32(lblAnnee.Text);
int idTrimestreAdmission =3D
Convert.ToInt32(lblIdTrimestreAdmission.Text);
url =3D
"http://xxxxx.xxxxx.ca/ReportServer?/Rapport_xxxx/Etxxxge";
url +=3D "&rs:Format=3DPDF";
url +=3D "&idStage=3D" + idStage;
url +=3D "&annee=3D" + annee;
url +=3D "&idTrimestreAdmission=3D" + idTrimestreAdmission;
url +=3D "&idDomaineFormation=3D" +
Convert.ToInt32(Session["IdDomaineFormation"]);
Response.Redirect(url);
//*******************************
This basically pop up a acrobat reader with my report in it.
Hope it helps, cheers.
Mike a =E9crit :
> woundering if there's a way for the user to automatically create a PDF re=port
> via a report button.
> Currently when users click the report button the users web interface opens
> (would like to not the the web interface just create the PDF without any
> interaction) then the user is prompted to open/saved/cancel.
> Is it possible to click on the so called report button and automatically
> create the PDF? no dialog boxes appering just create the PDF?
> Is this a workstation issue with internet exploier?
> Running the 2000 version of SQL & it's counter part of reporting services.
> All workstations all XP Pro Sp2 > > Mike

Monday, February 20, 2012

Report save sa PDF formate problem?

Hi All:
When i am trying to save the report (http) as PDF format, how can i make
sure the format is what i want?
Becuase currently what i got is that it splits report to two pages by saving
PDF, and each half as one page, which is actually one page content.
Any helpf will be appreciated.
Cheers
NickYou need to check the width of your report + width of the margins. If this
is more than the page width, your report will be split over two pages. It's
very annoying, as sometimes you are only off by a few pixels. If it looks
good, try adding borders to all containers, and see if any of them just
dynamically expand when running the report. I find that if I put a textbox
on a matrix, it sometimes expands a lot more than I expected it to.
Kaisa M. Lindahl Lervik
"Nick" <Nick@.discussions.microsoft.com> wrote in message
news:B516CDF1-775A-4AE5-B07B-925CB261E806@.microsoft.com...
> Hi All:
> When i am trying to save the report (http) as PDF format, how can i make
> sure the format is what i want?
> Becuase currently what i got is that it splits report to two pages by
> saving
> PDF, and each half as one page, which is actually one page content.
> Any helpf will be appreciated.
> Cheers
> Nick
>
>|||Thanks Kaisa.
I actually did set the width of my report so that my report can print out
properly , just fit one page size. but it doesn't work save as PDF, which
still split to two pages.
thanks
Nick
"Kaisa M. Lindahl Lervik" wrote:
> You need to check the width of your report + width of the margins. If this
> is more than the page width, your report will be split over two pages. It's
> very annoying, as sometimes you are only off by a few pixels. If it looks
> good, try adding borders to all containers, and see if any of them just
> dynamically expand when running the report. I find that if I put a textbox
> on a matrix, it sometimes expands a lot more than I expected it to.
> Kaisa M. Lindahl Lervik
> "Nick" <Nick@.discussions.microsoft.com> wrote in message
> news:B516CDF1-775A-4AE5-B07B-925CB261E806@.microsoft.com...
> > Hi All:
> >
> > When i am trying to save the report (http) as PDF format, how can i make
> > sure the format is what i want?
> >
> > Becuase currently what i got is that it splits report to two pages by
> > saving
> > PDF, and each half as one page, which is actually one page content.
> >
> > Any helpf will be appreciated.
> >
> > Cheers
> >
> > Nick
> >
> >
> >
> >
>
>|||I worked it out .
I didn't set up the page width and height properly. i only set up the body.
Thanks
"Nick" wrote:
> Thanks Kaisa.
> I actually did set the width of my report so that my report can print out
> properly , just fit one page size. but it doesn't work save as PDF, which
> still split to two pages.
> thanks
> Nick
> "Kaisa M. Lindahl Lervik" wrote:
> > You need to check the width of your report + width of the margins. If this
> > is more than the page width, your report will be split over two pages. It's
> > very annoying, as sometimes you are only off by a few pixels. If it looks
> > good, try adding borders to all containers, and see if any of them just
> > dynamically expand when running the report. I find that if I put a textbox
> > on a matrix, it sometimes expands a lot more than I expected it to.
> >
> > Kaisa M. Lindahl Lervik
> >
> > "Nick" <Nick@.discussions.microsoft.com> wrote in message
> > news:B516CDF1-775A-4AE5-B07B-925CB261E806@.microsoft.com...
> > > Hi All:
> > >
> > > When i am trying to save the report (http) as PDF format, how can i make
> > > sure the format is what i want?
> > >
> > > Becuase currently what i got is that it splits report to two pages by
> > > saving
> > > PDF, and each half as one page, which is actually one page content.
> > >
> > > Any helpf will be appreciated.
> > >
> > > Cheers
> > >
> > > Nick
> > >
> > >
> > >
> > >
> >
> >
> >

Report render to PDF hangs

I've got a complex report with many subreports that is running on a reporting services 2005 machine with sp2 installed. The report was working well, producing a 2800 page report in under 10 minutes. I made a change to an expression in a table's column header and one change to the detail and the report stopped working. It would just hang for hours with no messages in the logs.

I tried to simplify what the report server had to do by removing the sum's to the database side's stored proc but that didn't work. I finally managed to get the report to work by removing a totals section to a subreport. I've also had the same hanging condition occur when I merged some columns in the table. I also found a workaround for this problem.

Is anyone else finding problems like this? They don't seem to be code related.

Is there a limit to how complex a report can be in reporting services or the PDF rendering part of the process?

Thanks for any info

There is no easy to define limit to how "much" of a report can be rendered to PDF. It depends on size and complexity of the report and muscle of the server(s). Can you describe the hardware a bit? If you capture a perfmon while the hang is occuring, how does CPU, memory, disk, and network look? Also, is this reproducible? If you revert the change, does the report export?

Thank you.

|||

The machines running are 4 processor 3.2Ghz zeon's with 3GB Ram.

We didn't run perfmon, but normally get paged if there are performance issues.

I am able to reproduce this problem. I narrowed the recordset down to a particular agency, a subset of the full recordset The subset recordset contains 59 rows for the main report and 20 rows for the subreport, so it's not a large amount of data. We have agencies that are many times more complicated that print fine.

Strangely enough, I got it to work, when I pushed off the totals section to a subreport. That section had 2 running sums in it and some expressions based on data fields. I passed those over to the subreport as parameters and it worked fine.

This is not the only time, we've had this hang and had to look for a workaround. I also had a problem like this when I merged some columns in a table. The problem was happening to a completely different agency than before. Now when I develop in this report, I do one thing at a time, then deploy and run to be sure I didn't introduce another hang situation.

Is this behavior common to reporting services?

|||

If the dataset is large, the report is complex, the hardware is underpowered, or some combination of the three, exporting to PDF can get bogged down, even in SQL Server 2005 SP2. One way to figure out what's going on is to look at the ExecutionLog table in the ReportServer database.

Execute the report and then look at the last 5 columns. If RowCount is large, consider pushing off some data filtering into the TSQL - this should also decrease TimeDataRetrieval. If TimeProcessing is large, see if there is anything you're doing in the report that can be better handled by SQL server - like, sorting or aggregation. Also, try and reduce the complexity of any expressions you have in the report. If TimeRendering is large, it could be you're running into inefficiencies in the rendering engine. We've made good progress and improved perf in RS 2005 but we're still not where I'd like us to be so have more work to do. If ByteCount is large, consider breaking the report up so users don't have to deal with 50M PDF files. If archival is your goal, you might consider a different format like HTML that is much easier to grep later than PDF. Tudor has some suggestions as well on http://blogs.msdn.com/tudortr/archive/2004/06/28/167969.aspx.

"Hanging" is not common, though slow rendering when there's a lot to do or not enough hardware to do it on is more common.

I don't understand why merging columns would make that much of an impact, however. If you have a repro, please open a bug so I can take a look. If you can't get to http://connect.microsoft.com, you can email me the details directly (click on my name to the left and you'll find my email address).

Thank you.

|||

Hi Donovan,

Thanks for your help.

I've got a question still, I'm not sure that this is bug ticket worthy so I figured I'll run it by you here first.

This is from the ExecutionLog table.

This report was successful. This record is the full recordset and produced. I moved a totals section to a sub report to get it to work.

RequestType Format TimeStart TimeEnd TimeDataRetrieval TimeProcessing TimeRendering Source Status ByteCount RowCount

-- -- -- -- -- - --

0 PDF 2007-03-09 10:14:42.723 2007-03-09 10:22:30.500 19070 269112 179356 1 rsSuccess 8969543 8569

This recordset here, is one that didn't work. This code is prior to me moving the totals section out to a subreport. Also, this recordset is a subset, just one agency and it's associated records. After a half hour I cancelled the job.

The TimeRendering is very large and the TimeDataRetrieval also seems large for that recordset.

RequestType Format TimeStart TimeEnd TimeDataRetrieval TimeProcessing TimeRendering Source Status ByteCount RowCount

-- - -- -- -- -- - - --

0 PDF 2007-03-08 10:47:09.303 2007-03-08 11:15:53.803 20642 2690 1700930 1 rsJobWasCanceled 0 131

The difference between the 2 versions of code, is that the one that's failing has 3 footer rows for the same grouping, 4 of the text boxes contain =FormatCurrency(Fields!XYZ.Value) type values and one contains an =IIF(Fields!CompType.Value = "SA", "XYZ Based Compensation", "ABC Based Compensation") + " Totals For This Period:"

I replaced those 3 footers, with one footer that calls a subreport, ironically, the sub reports parameters contains the same formatcurrency items and the iif.

I'm not sure what to think, it looks like a bug, but wouldn't TimeDataRetrieval indicate database side inefficiency?

What do you think?

Scott

|||

That doesn't sound right - time rendering seems too high. Would you please email me a copy of the rdls so I can see what's happening in the code?

The TIFF and PDF renderer share a lot of the same code. Is TIFF also that slow in exporting that report?

Regarding the TimeDataRetrieval column, if you take the queries out of the reports and run them against the server manually, how do the times compare?

Thank you.

Report render to PDF hangs

I've got a complex report with many subreports that is running on a reporting services 2005 machine with sp2 installed. The report was working well, producing a 2800 page report in under 10 minutes. I made a change to an expression in a table's column header and one change to the detail and the report stopped working. It would just hang for hours with no messages in the logs.

I tried to simplify what the report server had to do by removing the sum's to the database side's stored proc but that didn't work. I finally managed to get the report to work by removing a totals section to a subreport. I've also had the same hanging condition occur when I merged some columns in the table. I also found a workaround for this problem.

Is anyone else finding problems like this? They don't seem to be code related.

Is there a limit to how complex a report can be in reporting services or the PDF rendering part of the process?

Thanks for any info

There is no easy to define limit to how "much" of a report can be rendered to PDF. It depends on size and complexity of the report and muscle of the server(s). Can you describe the hardware a bit? If you capture a perfmon while the hang is occuring, how does CPU, memory, disk, and network look? Also, is this reproducible? If you revert the change, does the report export?

Thank you.

|||

The machines running are 4 processor 3.2Ghz zeon's with 3GB Ram.

We didn't run perfmon, but normally get paged if there are performance issues.

I am able to reproduce this problem. I narrowed the recordset down to a particular agency, a subset of the full recordset The subset recordset contains 59 rows for the main report and 20 rows for the subreport, so it's not a large amount of data. We have agencies that are many times more complicated that print fine.

Strangely enough, I got it to work, when I pushed off the totals section to a subreport. That section had 2 running sums in it and some expressions based on data fields. I passed those over to the subreport as parameters and it worked fine.

This is not the only time, we've had this hang and had to look for a workaround. I also had a problem like this when I merged some columns in a table. The problem was happening to a completely different agency than before. Now when I develop in this report, I do one thing at a time, then deploy and run to be sure I didn't introduce another hang situation.

Is this behavior common to reporting services?

|||

If the dataset is large, the report is complex, the hardware is underpowered, or some combination of the three, exporting to PDF can get bogged down, even in SQL Server 2005 SP2. One way to figure out what's going on is to look at the ExecutionLog table in the ReportServer database.

Execute the report and then look at the last 5 columns. If RowCount is large, consider pushing off some data filtering into the TSQL - this should also decrease TimeDataRetrieval. If TimeProcessing is large, see if there is anything you're doing in the report that can be better handled by SQL server - like, sorting or aggregation. Also, try and reduce the complexity of any expressions you have in the report. If TimeRendering is large, it could be you're running into inefficiencies in the rendering engine. We've made good progress and improved perf in RS 2005 but we're still not where I'd like us to be so have more work to do. If ByteCount is large, consider breaking the report up so users don't have to deal with 50M PDF files. If archival is your goal, you might consider a different format like HTML that is much easier to grep later than PDF. Tudor has some suggestions as well on http://blogs.msdn.com/tudortr/archive/2004/06/28/167969.aspx.

"Hanging" is not common, though slow rendering when there's a lot to do or not enough hardware to do it on is more common.

I don't understand why merging columns would make that much of an impact, however. If you have a repro, please open a bug so I can take a look. If you can't get to http://connect.microsoft.com, you can email me the details directly (click on my name to the left and you'll find my email address).

Thank you.

|||

Hi Donovan,

Thanks for your help.

I've got a question still, I'm not sure that this is bug ticket worthy so I figured I'll run it by you here first.

This is from the ExecutionLog table.

This report was successful. This record is the full recordset and produced. I moved a totals section to a sub report to get it to work.

RequestType Format TimeStart TimeEnd TimeDataRetrieval TimeProcessing TimeRendering Source Status ByteCount RowCount -- -- -- -- -- - -- 0 PDF 2007-03-09 10:14:42.723 2007-03-09 10:22:30.500 19070 269112 179356 1 rsSuccess 8969543 8569

This recordset here, is one that didn't work. This code is prior to me moving the totals section out to a subreport. Also, this recordset is a subset, just one agency and it's associated records. After a half hour I cancelled the job.

The TimeRendering is very large and the TimeDataRetrieval also seems large for that recordset.

RequestType Format TimeStart TimeEnd TimeDataRetrieval TimeProcessing TimeRendering Source Status ByteCount RowCount -- - -- -- -- -- - - -- 0 PDF 2007-03-08 10:47:09.303 2007-03-08 11:15:53.803 20642 2690 1700930 1 rsJobWasCanceled 0 131

The difference between the 2 versions of code, is that the one that's failing has 3 footer rows for the same grouping, 4 of the text boxes contain =FormatCurrency(Fields!XYZ.Value) type values and one contains an =IIF(Fields!CompType.Value = "SA", "XYZ Based Compensation", "ABC Based Compensation") + " Totals For This Period:"

I replaced those 3 footers, with one footer that calls a subreport, ironically, the sub reports parameters contains the same formatcurrency items and the iif.

I'm not sure what to think, it looks like a bug, but wouldn't TimeDataRetrieval indicate database side inefficiency?

What do you think?

Scott

|||

That doesn't sound right - time rendering seems too high. Would you please email me a copy of the rdls so I can see what's happening in the code?

The TIFF and PDF renderer share a lot of the same code. Is TIFF also that slow in exporting that report?

Regarding the TimeDataRetrieval column, if you take the queries out of the reports and run them against the server manually, how do the times compare?

Thank you.