Oracle AV Problem

Hello

I am working with Delphi 7, Oracle 9i r2 Database and Direct Oracle Access Components 4.0.6.2.
The problem is that a Access Violation is happening a little often in the system, and, according to the call stack, is always related with the communication with Oracle. Below is an example of the call stack:

exception class : EAccessViolation
exception message : Access violation at address 00000000. Read of address 00000000.

main thread ($f94):
00000000 +0000 ???
+05d9 oracommon9.dll ttcc2u
+0045 GDM.exe TDataSet.GetFieldData
+005e WS2_32.dll WSASend
+002b oran9.dll nioqwa
+0b9b OraClient9.Dll kpuexec
+0025 OraClient9.Dll OCIStmtExecute
+0031 oci.dll OCIStmtExecute
+0399 GDM.exe Oracle TOracleQuery.InternalExecute
+00aa GDM.exe Oracle TOracleQuery.ExecuteArray
+0061 GDM.exe Oracle TOracleQuery.Execute
+0099 GDM.exe OracleData
TOracleDataSet.InternalInitFieldDefs
+009f GDM.exe OracleData
TOracleDataSet.InternalOpen
+0019 GDM.exe DB TDataSet.DoInternalOpen
+001e GDM.exe DB TDataSet.OpenCursor
+0055 GDM.exe DB TDataSet.SetActive
+0004 GDM.exe DB TDataSet.Open

This happens in other places of the system as well. Any ideias of what I colud check?

Thanks for Reading

Juliano
 
Hi, I use Delphi 6 with DOA 4.0.7.1 and OCI 9.2
This error occurs several times a day. For first I think that is is problem with threads. But its time to time occurs at single thread application.

Do you have some ideas how to solve it / or how to get more precise information about this error?

Kind regards V.

Code:
20.10.2010 10:24:02 { Original Exception - Access violation at address 00000000. Read of address 00000000 }
{ _______End of the exception stact trace block_______ }

20.10.2010 10:24:02 { Original Exception - Access violation at address 00000000. Read of address 00000000 }
[00404547] System.@HandleAnyException + $33
[00530369] Oracle.TOracleQuery.InternalExecute + $399
[00530CAE] Oracle.TOracleQuery.ExecuteArray + $AA
[00530BB9] Oracle.TOracleQuery.Execute + $61
[0051791B] OracleData.TOracleDataSet.InternalOpen + $9F
[00494875] DB.TDataSet.DoInternalOpen + $19
[00494634] DB.TDataSet.Open + $4
[00558404] Provider.TCustomProvider.GetRecords + $58
[0055E698] Provider.TLocalAppServer.AS_GetRecords + $4C
[00568300] DBClient.TCustomClientDataSet.DoGetRecords + $94
[0056210A] DBClient.TCustomClientDataSet.InternalRefresh + $FE
[00496EFD] DB.TDataSet.Refresh + $35
[0084ED0B] ufrmEUS_KZ_FakturyZauctovani.TfrmEUS_KZ_FakturyZauctovani.actEditExecute (Line 250, "ufrmEUS_KZ_FakturyZauctovani.pas" + 8) + $9
[0046AAC5] Menus.TPopupList.MainWndProc + $1D
[0042AFD4] Classes.StdWndProc + $14
[00477CE7] Forms.TApplication.ProcessMessage + $83
[00876E99] ufrmEUS_HK_MAIN.TfrmEUS_HK_MAIN.actEOD_FakturyUctExecute (Line 3117, "ufrmEUS_HK_MAIN.pas" + 5) + $4
[0042A34B] Classes.TBasicAction.Execute + $F
[0045A4EF] Controls.TWinControl.WndProc + $157
[0045A16C] Controls.TWinControl.MainWndProc + $2C
[0042AFD4] Classes.StdWndProc + $14
[00477CE7] Forms.TApplication.ProcessMessage + $83
[0087DB20] EUS_HK.initialization (Line 308, "D:\Projects\EUS_HK\EUS_HK.dpr" + 5) + $7
{ _______End of the exception stact trace block_______ }

20.10.2010 10:24:02 TOPOLOVAPC1\topolova { Original Exception - Katastrof
 
Thank you. I will try it and let you know. I haven't found any description of NoQueryOptimize. Please can you tell me more about this error and this property?
Regards V.
 
The "Access violation at address 00000000. Read of address 00000000" is a typical symptom for an Oracle Server bug that can occur when reusing parsed cursor representations. The Oracle.NoQueryOptimize option will prevent that parsed cursors will be reused at a small performance penalty.
 
Back
Top