Access violation in ora73.dll
Posted: Thu 02 Oct 2008 15:25
Delphi 7
Oracle client 7.3.4
Oracle server 7.3
ODAC 6.50.0.39
In the demo database provided with ODAC components, insert the following lines
In a delphi project, add on the main form a tdbgrid with a Tdatasource and a Toraquery linked to the Tdatasource.
Open the query, close and reopen it and you'll get an "access violation in ora73.dll"
The access violation occurs in Oraclasses.DefinePiecedata on the following line :
Oracle client 7.3.4
Oracle server 7.3
ODAC 6.50.0.39
In the demo database provided with ODAC components, insert the following lines
Code: Select all
INSERT INTO CRGRID_TEST (Id, Name, Country, City, Street, BirthDate, Job, HireDate, Sal) VALUES
(5001, 'SMITH', 'ENGLAND', 'LONDON', 'BOND st.', to_date('12.10.63', 'dd.mm.yy'), 'CLERK',
to_date('17.12.80', 'dd.mm.yy'), 800);
INSERT INTO ODAC_LONG(5001,'test 1', NULL);
INSERT INTO ODAC_LONG_CHAR(5001,'test 1', NULL);
COMMIT;
Code: Select all
Oraquery1.Options.LongStrings := false;
oraquery1.sql.clear;
oraquery1.SQL.add('select cr.name, cr.country ,ol.code,ol.value, cr.remarks');
oraquery1.sql.add(',olc.value ');
oraquery1.sql.add('from odac_long ol, crgrid_test cr');
oraquery1.SQL.add(', odac_long_char olc');
oraquery1.SQL.add('where ol.code = cr.id');
oraquery1.SQL.add('and olc.code = ol.code');
The access violation occurs in Oraclasses.DefinePiecedata on the following line :
Code: Select all
Check(odefinps(FCursorRef.CDA, 0, Field.ActualFieldNo, Buf, MaxBlobSize, OraType, 0,
Ind, nil, 0, 0, pub2(0), pub2(0), 0, 0, 0, 0));