Print Thread
Page 1 of 2 1 2
Access Violation at TOracleDataSet.Open() method
#9695 01/31/08 02:35 PM
Joined: Dec 2007
Posts: 8
R
Rulikkk Offline OP
Member
OP Offline
Member
R
Joined: Dec 2007
Posts: 8
Sometimes, when the program is working for quite a long time, the "Open" method of TOracleDataSet is raising Access violation with adrress 0.
The probable cause of this is that session is closed or connection lost.
However, when I close the connection by myself the normal exception is raised and I can handle it.
Still sometimes the AV happens.
After that the same method raises "Call in progress" exception several times, and then the normal "connection to DataBase lost" situation happens.
Is it possible to check the connection before each call to TOracleDataSet.Open or handle that situation in any other normal way?
(Because I think that AV from DOA is not a normal situation...)

Re: Access Violation at TOracleDataSet.Open() method
#9696 01/31/08 04:15 PM
Joined: Aug 1999
Posts: 22,221
Member
Offline
Member
Joined: Aug 1999
Posts: 22,221
Can you let me know your exact Oracle Server version, and your exact Direct Oracle Access version?


Marco Kalter
Allround Automations
Re: Access Violation at TOracleDataSet.Open() method
#9697 01/31/08 04:38 PM
Joined: Dec 2007
Posts: 8
R
Rulikkk Offline OP
Member
OP Offline
Member
R
Joined: Dec 2007
Posts: 8
Yes,
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bi
PL/SQL Release 10.2.0.3.0 - Production
CORE 10.2.0.3.0 Production
TNS for 64-bit Windows: Version 10.2.0.3.0 - Production
NLSRTL Version 10.2.0.3.0 - Production

And DOA is Version 4.0.7.1 (October 17, 2005) I think.

Re: Access Violation at TOracleDataSet.Open() method
#9698 02/01/08 12:50 PM
Joined: Dec 2007
Posts: 8
R
Rulikkk Offline OP
Member
OP Offline
Member
R
Joined: Dec 2007
Posts: 8
Today I tried using TOracleSession.CheckConnection just before opening the data set -- the test was ok, but the error still occured.
First there were "too many consequtive AVs" and then the exception was raised, which I mentioned above.

Re: Access Violation at TOracleDataSet.Open() method
#9699 02/01/08 08:24 PM
Joined: Aug 1999
Posts: 22,221
Member
Offline
Member
Joined: Aug 1999
Posts: 22,221
Can you set the NoQueryOptimize boolean in the Oracle unit to True at run-time and try again?


Marco Kalter
Allround Automations
Re: Access Violation at TOracleDataSet.Open() method
#9700 02/04/08 05:41 PM
Joined: Dec 2007
Posts: 8
R
Rulikkk Offline OP
Member
OP Offline
Member
R
Joined: Dec 2007
Posts: 8
Yes, ok.
I'll tell you the result as soon as the error occurs again.

Re: Access Violation at TOracleDataSet.Open() method
#9701 02/05/08 05:22 PM
Joined: Dec 2007
Posts: 8
R
Rulikkk Offline OP
Member
OP Offline
Member
R
Joined: Dec 2007
Posts: 8
It seems like the problem has gone.
What was the cause? What does this boolean change?
When should it be set to false?

Re: Access Violation at TOracleDataSet.Open() method
#9702 02/06/08 03:59 PM
Joined: Aug 1999
Posts: 22,221
Member
Offline
Member
Joined: Aug 1999
Posts: 22,221
The Oracle 10.2 server has a bug that causes these access violations when parsed queries are reused. The boolean prevents that parsed queries are reused.


Marco Kalter
Allround Automations
Re: Access Violation at TOracleDataSet.Open() method
#9703 02/21/08 05:01 PM
Joined: Aug 2001
Posts: 18
Dumfries, Dumfriesshire, UK
C
Member
Offline
Member
C
Joined: Aug 2001
Posts: 18
Dumfries, Dumfriesshire, UK
Interesting!

Any idea whether this could cause an application to terminate without any error messages (similar to using application.terminate)?

Reason I ask is our application on occasion seems to terminate of it's own accord, no error messages and this happens when the user has simply logged on - however there is a background process to check for messages every 30 seconds.

I've been trying to trace this for a number of months now but never thought of Oracle 10 - both customers reporting this are using Oracle 10g (10.2.0.1.0 and 10.2.0.2.0) and there doesn't seems to be any pattern to it.

Re: Access Violation at TOracleDataSet.Open() method
#9704 02/22/08 04:59 AM
Joined: Aug 2001
Posts: 18
Dumfries, Dumfriesshire, UK
C
Member
Offline
Member
C
Joined: Aug 2001
Posts: 18
Dumfries, Dumfriesshire, UK
I should have perhaps explained that the "process to check for messages" involves a dataset.refreshrecord and a dataset.refresh

Re: Access Violation at TOracleDataSet.Open() method
#9705 02/22/08 04:17 PM
Joined: Aug 1999
Posts: 22,221
Member
Offline
Member
Joined: Aug 1999
Posts: 22,221
It might be. It's always difficult to predict how an application responds to an Access Violation.


Marco Kalter
Allround Automations
Re: Access Violation at TOracleDataSet.Open() method
#9706 03/05/08 01:47 PM
Joined: Apr 2003
Posts: 84
Parma, Italy
N
Member
Offline
Member
N
Joined: Apr 2003
Posts: 84
Parma, Italy
Hello Marco,

Which specific bug are you talking about ?
Perhaps a bug in the "oparse" OCI call ?
Do you know the metalink id (if any) ?
Thanks
Bye
Nicola

Re: Access Violation at TOracleDataSet.Open() method
#9707 03/05/08 04:04 PM
Joined: Aug 1999
Posts: 22,221
Member
Offline
Member
Joined: Aug 1999
Posts: 22,221
Unfortunately I do not have any real information about this Oracle Server bug.


Marco Kalter
Allround Automations
Re: Access Violation at TOracleDataSet.Open() method
#9708 03/06/08 02:22 PM
Joined: Apr 2003
Posts: 84
Parma, Italy
N
Member
Offline
Member
N
Joined: Apr 2003
Posts: 84
Parma, Italy
So ... are you really sure is it an Oracle bug ?

Re: Access Violation at TOracleDataSet.Open() method
#9709 03/06/08 03:51 PM
Joined: Aug 1999
Posts: 22,221
Member
Offline
Member
Joined: Aug 1999
Posts: 22,221
Yes.


Marco Kalter
Allround Automations
Re: Access Violation at TOracleDataSet.Open() method
#9710 03/06/08 06:45 PM
Joined: Apr 2003
Posts: 84
Parma, Italy
N
Member
Offline
Member
N
Joined: Apr 2003
Posts: 84
Parma, Italy
Ever considered / tried to post a (hopefully reproducible) test case to Oracle support?

Re: Access Violation at TOracleDataSet.Open() method
#9711 03/07/08 05:08 PM
Joined: Aug 1999
Posts: 22,221
Member
Offline
Member
Joined: Aug 1999
Posts: 22,221
Yes, but unfortunately we have never been able to reproduce this.


Marco Kalter
Allround Automations
Re: Access Violation at TOracleDataSet.Open() method
Marco Kalter #33487 03/02/09 04:23 PM
Joined: Feb 2004
Posts: 8
R
Member
Offline
Member
R
Joined: Feb 2004
Posts: 8
Hi!

We have the same problem.
What can we do? What is the solution?

Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit
DOA:4.0.7.1

Thanks

Re: Access Violation at TOracleDataSet.Open() method
recomp #33493 03/03/09 10:43 AM
Joined: Aug 1999
Posts: 22,221
Member
Offline
Member
Joined: Aug 1999
Posts: 22,221
  • Use the debugger to see where it fails.
  • Check if there are any event handlers for the dataset that could cause this.
  • Try it on a different PC to check if this is PC specific.



Marco Kalter
Allround Automations
Page 1 of 2 1 2

Moderated by  support 

Link Copied to Clipboard
Powered by UBB.threads™ PHP Forum Software 7.7.4
(Release build 20200307)
Responsive Width:

PHP: 7.1.33 Page Time: 0.081s Queries: 13 (0.036s) Memory: 2.6002 MB (Peak: 3.0420 MB) Data Comp: Off Server Time: 2024-05-20 18:15:56 UTC
Valid HTML 5 and Valid CSS