cancel
Showing results for 
Search instead for 
Did you mean: 

Crystal Reports XI R2 .Net Performance Issues

Former Member
0 Kudos

Hello,

We are in the process of upgrading our current systems from VB6 to VB.Net and are running into performance issues when attempting to print larger reports from the .Net applications.  Currently, we are using VB6 applications with the 11.0 version of the RDC and it is working extremely well.  A 250 page report takes roughly 10 seconds to spool up, and our PDF conversion software will process through that 17MB file in about a minute and a half.

In the updated .Net application, using the .Net 11.5 assemblies, the spooling process takes roughly a minute and a half for that same report, and the PDF conversion of the larger, 23MB file takes between five and eight minutes to complete.  The report is the same, the print spooler and PDF converter is the same, the only differences between the two are the programming language and the assemblies we used.

These reports average 250 pages, and are consistent with the times across the different copies we run, and we only see this issue with reports this large.  Other reports that we run in the 10-11 page range don't show nearly as much of a slowdown or file size bloat, and these reports get pulled up in the report viewer within 5 seconds.

My question is twofold.  Is there some method or setting beyond PrintToPrinter in the .Net assemblies that we need to use to regain the performance we lost going to the newer component?  Would there be a significant file size, spool time, or conversion speed increase in a newer version than Crystal XI R2 SP6?

Thank you for your time and consideration.

Accepted Solutions (1)

Accepted Solutions (1)

former_member183750
Active Contributor
0 Kudos

Hi Brandon

IN a nutshell, the preformance should be pretty well equivalent or perhaps even better. But this may depend on a numbre of variables. From the database used, to the type of connection, to version of VS to what version of CR the report was created in and so on.

So, the first place to start is;

what version of .NET are you using?

What is the database? How are you connecting to it (ODBC, OLE DN, etc.).

Now, I am not sure why you are spooling the report then converting it to PDF. Why not just export it to PDF? Something like this:


Dim exportFilePath As String = Application.StartupPath + "\exported.pdf"

        ''Create an instance of the Chart report

        crReportDocument = New Chart()

        ''Set the options for saving the exported file to disk

        crDiskFileDestinationOptions = New DiskFileDestinationOptions()

        crDiskFileDestinationOptions.DiskFileName = exportFilePath

        ''Set the exporting information

        crExportOptions = crReportDocument.ExportOptions

        With crExportOptions

            .DestinationOptions = crDiskFileDestinationOptions

            .ExportDestinationType = ExportDestinationType.DiskFile

            .ExportFormatType = ExportFormatType.PortableDocFormat

        End With

        ''Export the report

        crReportDocument.Export()

        ''Display a message letting the user know the export is complete

        MessageBox.Show("Report exported to: '" & exportFilePath & "'")

For more samples see: Crystal Reports for .NET SDK Samples - Business Intelligence (BusinessObjects) - SCN Wiki



- Ludek

Senior Support Engineer AGS Product Support, Global Support Center Canada

Follow us on Twitter

Former Member
0 Kudos

We are targeting .NET 3.5 with the application, connecting to a SQL Server 2005 database with an OLE DB connection. I believe the reports were created in Crystal Reports 9, but as a test I recreated one of them in Crystal Reports XI R2 and it had no measurable impact on the performance of the system.

The reason we are spooling to the printer is because our online document management system pulls the files from the print queue and converts them from RAW to PDF format in the process of hosting them.  I'd need to talk to the programmer who manages that system to see if it would be possible to generate the PDF's directly and have them uploaded to the system, as it's a third-party system that I'm not familiar with.

former_member183750
Active Contributor
0 Kudos

Targeting .NET 3.5 does not tell me what version of .NET you are using as it could be 2005(?), 2008, 2010, 2012, 2013. Not all of those are supported with CR XI R2. See this wiki for more details:

Which Crystal Reports assembly versions are supported in which versions of Visual Studio .NET - Busi...

To me the process of converting reports from RAW to PDF format is extremely inefficient and doing a direct export to PDF would be the way to go. Perhaps this will be worth a test with a very simple one line app (as long as you are in a supported environment):

CrystalReportViewer1.ReportSource = <path to a report>

Let the report prompt for DB logon. Once the report is in the viewer, export to PDF. I realize you may not want the viewer in your actual app, but this one line app will show you the performance of direct export to PDF.

- Ludek

Former Member
0 Kudos

Ah, apologies.  We're using Visual Studio 2010 for development.  Looking at the chart you listed, we would need to be using Crystal 2010 or later for the best compatibility, correct?

As for the direct PDF export, after talking to the person who manages our online document management system, the system import process can only grab files that are in a printer queue.  Can we send the PDF files from the export directly to a printer, or would there need to be an additional process that runs and prints off the PDFs after Crystal is done generating them?  The direct PDF export definitely seems to perform as well as the VB6 RDC RAW export did, so if that is an option, it would work well for us.

former_member183750
Active Contributor
0 Kudos

Good. So CR XI R2 and VS 2010  that is our first "bad"

CR XI R2 is not supported in VS 2010. Download "SAP Crystal Reports, Developer Version for Visual Studio .NET" (CRVS) from here:

Make sure that on your dev computer you download the Install EXE, SP 10 (SPs are cumulative). If you wish, you may leave CR XI R2 installed. Once CRVS is installed and you open your project, VS will update the CR references to version 13.x.

re.; Can we send the PDF files from the export directly to a printer

Unfortunately, that is a negative. You either export to a file or PDF viewer via exportostream.

But honestly, using that printer queue is just not the way to go. Not in my experience anyhow. But do update to CRVS, see how things go from there.

- Ludek

Former Member
0 Kudos

Thank you so much for your help with this issue.  I've talked with our Sysadmin, and they'll be installing the updated developer SDK tomorrow, and then I'll get to testing.  If that doesn't work, then I think I can work something out with the PDF exports to get them to work with our system.  I took a look around and didn't see any mention of licensing, just to make sure, does the current license we have for CR XI R2 cover using the VS2010 SDK?

former_member183750
Active Contributor
0 Kudos

Ahhh licensing. It's actually pretty good. For win apps and web apps used internal to your org, the runtime is free. Only for web apps deployed external to your app will you need extra licensing and for that you will have to contact sales; 866-681-3435

- Ludek

Former Member
0 Kudos

Just as an update, the 13.0 version dll files didn't have any impact on spooling, conversion time, or filesize. All I did with them was replace the 11.5 version without coding changes.  I did test the PDF export fully, and it works with enough speed to be usable, however we're still working with our document manager people to determine if there's a way we can get those imported.

Can you think of anything else that might have an impact that I missed?

former_member183750
Active Contributor
0 Kudos

Hi Brandon

I can not. Well, maybe...

From deep dark recesses of my mind, I remember working on an issue where "fooling" around with the spooler and printer driver properties did help. Looking at my printer driver, here are some of the properties I am thinking of:

I don't know if that will apply in your case(?).

Also, I am assuming that the PDF conversion is done by some PDF "printer driver"? It may be an idea to see if there is something more current / different, etc.

Just ideas - I call it wacking the bushes, see if something falls out...

- Ludek

Answers (0)