on 04-14-2010 11:54 PM
i connect to an oracle 10g db.
After 30 mins if i refresh my report, i get "unknown database connector error".
Is there an oracle setting or param i can check, to stop my crystal session timing out ?
Need more info.
What version of Crystal and how are you connecting to Oracle and who's driver are you using?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I would ask Oracle why the session is disconnecting. Nothing in CR that controls this. CR will open a thread against the HDBC handle of the Oracle ODBC connection and continue to use it as long as it is valid. If the HDBC handle, which is the original connection when you fill in the user name and password, is closed then our thread off that handle becomes invalid also.
CR may disconnect from the handle until it requires data from the DB and we assume the connection is still open and would either try the old thread or create a new one.
If you go into ODBC Admin and turn on ODBC tracing you can see what is happening.
Thank you
Don
Hello,
You can't attach file to Forums so go to Oracles site and see if they have a forum or contact info. If you want SAP to see what's going on you can go to this link: http://store.businessobjects.com/store/bobjamer/DisplayProductByTypePage&parentCategoryID=&categoryI...
And purchase a support case to get a support engineer to work with you directly.
Thank you
Don
Thanks Don, I'm sure this is an oracle setting. Single case solution is $195.
This is what i see in the trace. The connection is lost because of the SQLDisconnect message.
Maybe someone in the community has an idea ??
crw32 150-d44 ENTER SQLFreeHandle
SQLSMALLINT 3 <SQL_HANDLE_STMT>
SQLHANDLE 05612790
crw32 150-d44 EXIT SQLFreeHandle with return code 0 (SQL_SUCCESS)
SQLSMALLINT 3 <SQL_HANDLE_STMT>
SQLHANDLE 05612790
After 30 minutes i see this entry
crw32 150-d44 ENTER SQLDisconnect
HDBC 05611BB0
crw32 150-d44 EXIT SQLDisconnect with return code 0 (SQL_SUCCESS)
HDBC 05611BB0
crw32 150-d44 ENTER SQLFreeHandle
SQLSMALLINT 2 <SQL_HANDLE_DBC>
SQLHANDLE 05611BB0
crw32 150-d44 EXIT SQLFreeHandle with return code 0 (SQL_SUCCESS)
SQLSMALLINT 2 <SQL_HANDLE_DBC>
SQLHANDLE 05611BB0
Hi John,
It does appear CR is sending the disconnect. I don't know why, we never used to. I'll ping the Database Developers and see what they have to say or if we have a registry setting available not to sent the HDBC disconnect. We likely do it to free up connections because some ODBC drivers are limited to the number of connections that can be opened and stay open.
Try our DataDirect drivers: https://smpdl.sap-ag.de/~sapidp/012002523100008666562008E/cr_datadirect53_win32.zip
And see if too does the 30 minute disconnect.
Thanks again
Don
Hi John,
Apparently we did add in a 20 minute timeout. Is this in an application? If so you can add background code to keep the connection active if not then your only option is to be aware that after 20 minutes from the start of the idle time the connection will be dropped and you'll have to log in again.
No registry key to keep the connection open longer.
Thank you
Don
Thanks Don,
Yes you are correwct the timeout occurs after 20 mins. I watched the log file trace write times. When was this timeout introduced, as in previous version of X1 i did not have the problem.
I'm using Crystal reports, not an application. So i do not have the luxury of keeping my connection open in the background. Surely this is a huge regression ?How can i be exprected to manually keep the db connection open ?
Is this the same in Crystal 2008 ? This is very very frustrating tor me at this time, and will have to consider another reporting client if there is not a workaround. CAn the developers not suggest one. I find it hard to believe that the doors are not being knocked down at SAP to resolve this bug.
John
Hi John,
Getting more info from the developer. I don' t know when they changed the routine but what we should do is pop up the Log On Dialog box and not throw an error message up. Not sure what the reason was to change this other than our Enterprise Products also default to timeout @ 20 minutes so they may have done it for consistency.
Are you OK if we Pop up our log on Dialog box rather than not disconnect at all? The reason being it may be a regression issue and to make a change not to drop the connection this late in the product could be rejected. I'll also suggest we could add a reg key to override the default 20 minute timeout. Which ever is easiest for R&D to code is likely the quickest solution.
In the mean time can you let your users know if they leave the report for more than 20 minutes to log onto the database again? Until we get an answer from the PM's and R&D I can't say if we will fix this or not?
Thanks again
Don
Hello Don, and thanks for your concern and help. Currently this is a real problem to productivity. We have people developing reports, and they open the db, and as we now know the connection is dropped after 20 minutes. There's no way to keep the db open other than continually pressing refresh on an opened report.
Not sure how this ever got past QA, and would be considered an enhancement, but.... let's move on.
Does the same limitation exist in Crystal 2008 ?
I'd be fine with the suggestion of popping up a dialog box asking the question to keep or close the currently opened db's.
Thanks John
Hi John,
Our database developers are not local so I have to wait for them to reply tomorrow.
In the mean time try this key: HKEY_CURRENT_USER\Software\Business Objects\Suite 11.5\Crystal Reports\DatabaseOptions - CloseConnectionAfterFirstPass = Yes is the default
Close the Designer down and then change the Key to No and then test again. You must close CR or it writes back the change and may not read it once the designer has been opened.
My test Oracle server is down right now so I can't confirm if this is a usable key.
Thank you
Don
Hi John,
Thanks for testing. Can you set that key to Yes and test again? Close the designer down before making the change.
Update is we should be keeping the log on info, users name and password so if you hit the refresh button we pass on the log on info and reconnect behind the scene. It's kept encrypted in memory. Cr should not be throwing the error.
I'm getting confirmation from the Report Designer Developer and I'll track it once he confirms this is a bug.
I'm also verifying if it's the same in Cr 2008
Thanks again
Don
Edited by: Don Williams on Apr 21, 2010 7:09 AM
Scenarios with CloseConnectionAfterFirstPass = No
Start CR, and attach to db. Open a report, and press "refresh" get the "unknown db error" immediately.
Start CR, and attach to db. do nothing for 30 mins.(can already see in log file that sqldisconnect has occured after 20 mins) Open a report, press "refresh" get the "unknown db error"
Under both scenarios i never get the connection prompt.
Thanks John
Hi John,
What happens if you Open the Designer, Open a report, hit the refresh button and log on and then wait for the timeout?
And the same steps with the registry key set to Yes and No.
Can you also test this using the Native Oracle driver? Open a report and click on Database, Set Location and browse to Oracle Server and select it. Log on and then do the Set Location update and preview. ODBC logging won't show anything since now you are using the Client directly.
Wait 20 minutes and then hit refresh, what happens?
Thanks again
Don
Don,
I recently updated to cr 2008. I tried your suggestion of using Oracle Server, and it worked.
So i wanted to see if the datadirect driver would work.
I installed using the link you provided, and was asked to restart my pc for changes to take effect.
As it was late Friday afternoon, i decided to select restart later, and closed down my pc.
Today, my cr2008 directory has been removed. The problkem with this is that this was pre-loaded from
my corporated office(they control the install) so i do not have a way to get this back, without making a special visit
.
Any idea what may have happened ?
Oracle Server is not an option with cr x11.5.11.1470
Hi John,
Wow, never heard of that happening. Data Direct just installs the ODBC drivers, has nothing to do with CR install.
All I can suggest is you download the trial version and then call Corporate to get the keycode if you need it. Try using the repair install, it may fix it.
Also, what was removed? The location is different for each version of CR.
Does Cr still run?
Direct link to the Trial version: http://www.sap.com/solutions/sapbusinessobjects/sme/freetrials/index.epx
Thank you
Don
Don, i do have the keycode(provided by my corporate office who ordered cr 2008)
If i download the trial version, will i be able to plug in the keycode, and make it a production copy ?
or is it best i go back to corporate and do the cr2008 install again ?
Under program files\business objects
i have a directory call Crystal Reports 11.5(working ok)
Not sure what the cr2008 directory should be or was?
Thanks John
User | Count |
---|---|
76 | |
10 | |
8 | |
8 | |
6 | |
5 | |
5 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.