Solved

Citrix + Crystal Reports

Posted on 2012-04-10
8
2,597 Views
Last Modified: 2012-04-16
Hi All,

Production:
Citrix -> Fat Client -> embedded crystal report

We're getting complaints that reports in our production environment are taking 10 to 15 minutes to complete regardless of the number of runs.

QA:
RDP -> Fat Client -> Embedded Crystal Report

When we run this in QA (local, on a server, but no citrix) same report with similiar data takes a few seconds.  

Unfortunately being a developer I don't have access to production or inside knowledge about the citrix environment (handled by another team).  


I'm looking for documentation that says this is expected behavior or a list of possible fixes that can be implemented to speed up production.  Has anyone seen anything ilke this before or anything I can provide up the ladder to get this resolved?
0
Comment
Question by:Kyle Abrahams
  • 5
  • 2
8 Comments
 
LVL 23

Assisted Solution

by:Admin3k
Admin3k earned 250 total points
ID: 37831873
Crystal will use the %TEMP% folder to run the file, Please check with your Citrix admins that the users %TEMP% folder is cleared, I have seen in some Citrix servers Gigabytes upon Gigabytes and tens of thousands of files on the users %TEMP% folders that can significantly slow down things.
0
 
LVL 22

Expert Comment

by:Ido Millet
ID: 37831964
No, this is not an expected behavior for Citrix deployments.  
My Crystal Reports Viewer application has been running on many Citrix installations and I've never seen this problem.  
Do you see this slow down with all reports?  Always or only during certain times of the day?
0
 
LVL 39

Author Comment

by:Kyle Abrahams
ID: 37834050
New info is it's one main report.  We're doing deltas between that and a working report to see what's going on.  

Slowness is consistent regardless of time of day or specific parameters used.  

I'm playing telephone through a bunch of different levels but that's what I'm getting back so far.

Please keep the suggestions coming.
0
 
LVL 22

Assisted Solution

by:Ido Millet
Ido Millet earned 250 total points
ID: 37834082
The "slow" report has subreports?
0
Why You Should Analyze Threat Actor TTPs

After years of analyzing threat actor behavior, it’s become clear that at any given time there are specific tactics, techniques, and procedures (TTPs) that are particularly prevalent. By analyzing and understanding these TTPs, you can dramatically enhance your security program.

 
LVL 39

Author Comment

by:Kyle Abrahams
ID: 37834251
>> Does the "slow" report have any subreports?
 - None.  


I was finally able to see this run in Citrix . . .

Our process is to build the data table outside of crystal . . . and handle crystal the dataset for formatting purposes.

We do this using a background worker so we can report progress as we go.  

It's hanging here:
      worker.ReportProgress(50)

                               rptDocument.SetDataSource(m_DataTable)

                                If worker.CancellationPending Then
                                    e.Cancel = True
                                    Exit Sub
                                End If
    worker.ReportProgress(75)

Time to dive into the actual crystal report.  Note the same process is used for the "working" report.  

Noticeable difference so far is that the "slow" report has a number of formulas (10-20) some of them used some of them not.  Does crystal calculate them all if they aren't being used?  

Will keep reporting as I go, thanks for the suggestions and looking forward to more ideas.
0
 
LVL 39

Author Comment

by:Kyle Abrahams
ID: 37834288
One other thing:  We can run the program fine on the actual citrix server without issue.  It's only when the presentation framework is working on the client that this becomes an issue.
0
 
LVL 39

Accepted Solution

by:
Kyle Abrahams earned 0 total points
ID: 37834896
So the issue ended up being that the default source was set to our test server.  Even though we were providing the datatable to the report manually it still for some reason was requerying the database.

The solution was to create an XSD (Disconnected DataSet) mimicking the columns that the report needed, and then repointing the report to look at the XSD.  Once this was done the report queries the blank XSD, then gets the data from the data table we are passing to it, and thereby solving the problem.  

I guess this could also be done with SetDataBase Logon, but why it would query the DB if we're already providing it a data table is beyond me.  Thanks very much for the suggestions.
0
 
LVL 39

Author Closing Comment

by:Kyle Abrahams
ID: 37850381
Found the solution on my own, suggestions were valid though not accurate.
0

Featured Post

Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

Join & Write a Comment

Citrix XenDesktop, Citrix Studio, Citrix Policies, Citrix XenApp
Exchange server is not supported in any cloud-hosted platform (other than Azure with Azure Premium Storage).
How to install and configure Citrix XenApp 6.5 - Part 1. In this video tutorial we have explained step by step installation of Citrix XenApp 6.5 Server on Windows Server 2008 R2 is explained in this video. We have explained the difference between…
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.

706 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now