473,386 Members | 1,801 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,386 software developers and data experts.

Slow Crystal Reports with Oracle

I have a problem with a C++ DCOM application that
prints Crystal Reports with data from Oracle.

The SQL query is relatively complex but when
the report is printed from the Crystal Reports
designer it shows up very fast. When the report
is printed from my application it takes about
ten times as long to get the report to appear.

When printing straight from the Crystal Reports
designer Oracle uses about 15% of CPU cycles. When
the report is printed from my application Oracle
uses about 95% of CPU cycles, or sometimes
totally uses it, while my application sits basically
idle throughout the entire operation until it shows
the Crystal Reports control to display the report.

Any idea why Oracle would be working so hard when
the report is printed from my application and not
when the report is printed from the Crystal Reports
designer? How does the Crystal Reports DLL communicate
with Oracle?

Thanks in advance for any help
kristoff plasun

Jul 19 '05 #1
13 15097
"kristoff plasun" <a@a.com> schrieb im Newsbeitrag
news:Q1%ib.57$iD6.43@edtnps84...
I have a problem with a C++ DCOM application that
prints Crystal Reports with data from Oracle.

The SQL query is relatively complex but when
the report is printed from the Crystal Reports
designer it shows up very fast. When the report
is printed from my application it takes about
ten times as long to get the report to appear.

When printing straight from the Crystal Reports
designer Oracle uses about 15% of CPU cycles. When
the report is printed from my application Oracle
uses about 95% of CPU cycles, or sometimes
totally uses it, while my application sits basically
idle throughout the entire operation until it shows
the Crystal Reports control to display the report.

Any idea why Oracle would be working so hard when
the report is printed from my application and not
when the report is printed from the Crystal Reports
designer? How does the Crystal Reports DLL communicate
with Oracle?

Thanks in advance for any help
kristoff plasun


And what versions do You use (database, OS, app) ?
And what kind of app do You use (C++ DCOM says nothing) ?
And what is the SQL like (most of them are "complex") ?
And so forth ...

better goto comp.databases.oracle.crystalball ...

sorry, I couldnt rethitht ;)


Jul 19 '05 #2
That is becuase Crystal reports suck. You can only do so much with
and ODBC connection.
Jul 19 '05 #3
no**********@my-deja.com (NorwoodThree) wrote:
That is becuase Crystal reports suck. You can only do so much with
and ODBC connection.

Crystal Reports DOES NOT require an ODBC connection to work with Oracle..It can use NativeSqlNet connectivity.
( BTW, we use it exclusively in our Enterprise environment ( both CR PRO for design and Crystal Enterprise for web
distribution) and have found it to be powerful, fast, and to have a fairly easy learning curve)
[Disclaimer: I am not now, nor have I ever been employed by Crystal Decisions ]

Just my 2c


Jul 19 '05 #4
> And what versions do You use (database, OS, app) ?
And what kind of app do You use (C++ DCOM says nothing) ?
And what is the SQL like (most of them are "complex") ?
And so forth ...
I should have written, HOW does Crystal communicate with
Oracle. When a report is being printed, my application sits
idle. It's not really my code, otherwise I would probably know
the answer. The Oracle ODBC driver version is 8.1.77, win2k.

I think I should delve more into the code and then rephrase
the question.
better goto comp.databases.oracle.crystalball ...
sorry, I couldnt rethitht ;)


:-)

kristoff plasun
Jul 19 '05 #5
On Tue, 14 Oct 2003 22:47:12 GMT, kristoff plasun <a@a.com> wrote:
I have a problem with a C++ DCOM application that
prints Crystal Reports with data from Oracle.

The SQL query is relatively complex but when
the report is printed from the Crystal Reports
designer it shows up very fast. When the report
is printed from my application it takes about
ten times as long to get the report to appear.

When printing straight from the Crystal Reports
designer Oracle uses about 15% of CPU cycles. When
the report is printed from my application Oracle
uses about 95% of CPU cycles, or sometimes
totally uses it, while my application sits basically
idle throughout the entire operation until it shows
the Crystal Reports control to display the report.

Any idea why Oracle would be working so hard when
the report is printed from my application and not
when the report is printed from the Crystal Reports
designer? How does the Crystal Reports DLL communicate
with Oracle?


G'day Kristoff,

Does the report use multiple tables and join them itself to produce the
result? Or does it select from a view on Oracle? Does it call a stored
procedure to do the work?

At a rough guess, it probably has a bunch of tables that it joins and
then groups to produce output. IME, Crystal does a bad job of optimising
the data access, so you are best off sorting that out on the Oracle side
by creating either a view or a stored procedure that Crystal uses.

My preference is for the stored procedure, because you can then effect
changes within Oracle, often without needing to change the Crystal
report.

To see what it is doing, open the report in the Crystal designer and
select Show SQL Query from the Database menu.

regards,
Ross.
--
Ross McKay, WebAware Pty Ltd
"Words can only hurt if you try to read them. Don't play their game" - Zoolander
Jul 19 '05 #6
> G'day Kristoff,

How you doin' :-) Thanks for your reply!
Does the report use multiple tables and join them itself
to produce the result?
Well, the SQL query contains the join statements so I thought
that Oracle would be doing the work and returning the results.
Or does it select from a view on Oracle?
Nope, but I'm converting the report to use a view now, would
it make a difference?
Does it call a stored procedure to do the work?


I can't rely on that as that would involve creating stuff
on the Oracle and management wants to avoid that for reports.

How would a stored procedure work?

Thanks for your help.

kristoff plasun
Jul 19 '05 #7
[followups trimmed to comp.databases.oracle - please don't cross-post]

Kristoff wrote:
Well, the SQL query contains the join statements so I thought
that Oracle would be doing the work and returning the results.
Or does it select from a view on Oracle?
Nope, but I'm converting the report to use a view now, would
it make a difference?


In my experience, yes it will.
Does it call a stored procedure to do the work?


I can't rely on that as that would involve creating stuff
on the Oracle and management wants to avoid that for reports.


But creating a view is little different to creating a stored procedure.
Either way, you have created something on the server - ten lashes!

Which would they prefer?

a) CR brings the server to its knees every time someone runs a report,
so basic reports can only be run out of hours or against a separate,
not-quite-up-to-date data source; or

b) you build some views and stored procs in a separate schema to enable
reporting to run efficiently?
How would a stored procedure work?


At its simplest, pretty much the same as a view. However, a stored
procedure can do more than a view, especially when you use parameters to
control selection criteria, and other server-side processing.

First off though, see how you go with that view.

regards,
Ross
--
Ross McKay, WebAware Pty Ltd
"Words can only hurt if you try to read them. Don't play their game" - Zoolander
Jul 19 '05 #8
> But creating a view is little different to creating a stored procedure.
Either way, you have created something on the server - ten lashes!
he he good point! :-)
Which would they prefer?

a) CR brings the server to its knees every time someone runs a report,
so basic reports can only be run out of hours or against a separate,
not-quite-up-to-date data source; or

b) you build some views and stored procs in a separate schema to enable
reporting to run efficiently?


I think I'll go the view way.

Thanks for your help!

kristoff plasun

Jul 19 '05 #9
Hi,

Yes, I'm going to try the view solution. We upgraded the server
from a p4 1.8mhz to a 2 cpu xeon, STILL Oracle maximizes
CPU cycles when running the report. How would I do an ODBC
trace? Or is there any way to get Oracle to log or show exactly
what it's doing at any given moment?

Thanks,
Kristoff Plasun
Jul 19 '05 #10
kris p wrote:
Hi,

Yes, I'm going to try the view solution. We upgraded the server
from a p4 1.8mhz to a 2 cpu xeon, STILL Oracle maximizes
CPU cycles when running the report. How would I do an ODBC
trace? Or is there any way to get Oracle to log or show exactly
what it's doing at any given moment?

Thanks,
Kristoff Plasun


This probably tells you something about Crystal Reports rather than about
Oracle.

It also tells you something about ODBC.

Regards
HJR
--
--------------------------------------------
See my brand new website, soon to be full of
new articles: www.dizwell.com.
Nothing much there yet, but give it time!!
--------------------------------------------

Jul 19 '05 #11
kp*****@hotmail.com (kris p) replied to a post in comp.databases.oracle
but crossposted to 3 other groups too:
Hi,

Yes, I'm going to try the view solution. We upgraded the server
from a p4 1.8mhz to a 2 cpu xeon, STILL Oracle maximizes
CPU cycles when running the report. How would I do an ODBC
trace? Or is there any way to get Oracle to log or show exactly
what it's doing at any given moment?


Pick a newsgroup, and maybe we can talk. Once again, follow-ups trimmed
to comp.databases.oracle
--
Ross McKay, WebAware Pty Ltd
"Words can only hurt if you try to read them. Don't play their game" - Zoolander
Jul 19 '05 #12
> kp*****@hotmail.com (kris p) replied to a post in comp.databases.oracle
but crossposted to 3 other groups too:
:-| sorry, will stay in this group only!
Pick a newsgroup, and maybe we can talk. Once again, follow-ups trimmed
to comp.databases.oracle


OK comp.databases.oracle then

I'd like to do an ODBC trace, how would I go about doing that? Is the ODBC
trace function that is accessible through the ODBC admin what I'm looking for?

Also, is there a way to trace what the Oracle server is doing? I'd like to
see what it is doing when it's maximizing the CPU.

Thanks,
kristoff plasun
Jul 19 '05 #13
On 20 Oct 2003 11:03:07 -0700, kp*****@hotmail.com (kris p) wrote:
I'd like to do an ODBC trace, how would I go about doing that? Is the ODBC
trace function that is accessible through the ODBC admin what I'm looking for?
Depending on the version of the ODBC Data Source Administrator you have,
you should be able to enable an ODBC trace to a log file. In my version
(3.52 on Windows 2000), there is a Tracing tab that allows you to start
or stop tracing and select the file to log to.
Also, is there a way to trace what the Oracle server is doing? I'd like to
see what it is doing when it's maximizing the CPU.


As others have said elsewhere, see Ask Tom for some articles about this.
Here is a link:

http://asktom.oracle.com/

Also, why are you using ODBC? There are better ways, e.g. the native
Oracle driver.

regards,
Ross.
--
Ross McKay, WebAware Pty Ltd
"Words can only hurt if you try to read them. Don't play their game" - Zoolander
Jul 19 '05 #14

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: Leo_felix | last post by:
I am trying to integrate the crystal reports v9.02 in my application. The application is developed using oracle forms 6i and the database is oracle 8i. I need to call the crystal reports from my...
4
by: Wayne Baswell | last post by:
I want to pass a date variable to a sql statement from Crystal Reports. The part of the query accepting the variables looks like: "Calendar_Date between To_Date('1-JUN-03','mm/dd/yy') and...
0
by: Max | last post by:
Hi wise people, Has anyone encountered the Crystal Reports problem I describe below? If so, how did you solve it? It seems that every article posted on google regarding CR and logon problems is...
4
by: Rich Moser | last post by:
My organization is in the midst of making a reporting tool decision. On the table are Crystal and the reporting functionality in Access. - Report distribution is not a factor - it's all local -...
2
by: matt | last post by:
hello, i have an .RPT file that i am using to load a report via the ASP.NET CrystalReportViewer control. i dont include my .RPTs as embedded resources...instead i load the absolute path of the...
0
by: Big George | last post by:
Hello, I'm working with Visual Studio 2003 .NET and Crystal Reports for .NET. Database: Oracle 10g Develop PC: Windows XP I'm having problems trying to design a Crystal Report connecting to...
0
by: zellipa | last post by:
I am trying to imbed crystal in oracle. I got the following steps from the web. when i try to run the created from , iget the error frm-41344. Any suggestions. Regards, Zellipa STEPS TO...
13
by: kristoff plasun | last post by:
I have a problem with a C++ DCOM application that prints Crystal Reports with data from Oracle. The SQL query is relatively complex but when the report is printed from the Crystal Reports...
3
by: Miro | last post by:
Hi, Just wondering what a good book is on visual studios 2008 ( or 2005 if no 2008 ) that teaches you how to properly use crystal reports with it. Or im assuming that as long as I can create a...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.