Page 1 of 1

Assertion failure in oraclasses.pas

Posted: Tue 16 Sep 2008 15:41
by sandrine
Delphi 7
Oracle client 7.3.4
Oracle server 7.3
ODAC 6.50.0.36

sql script to create database objects

Code: Select all

CREATE TABLE TESTPROD ( 
  PRODID            NUMBER (18)   NOT NULL, 
  ETNOTES           LONG, 
  PRODEAN           VARCHAR2 (18)  NOT NULL, 
  PRODADEMEVTEDESC  VARCHAR2 (2000), 
  PRODADEMEACHDESC  VARCHAR2 (2000), 
  CONSTRAINT TESTPROD_PK
  PRIMARY KEY ( PRODID ) ) ;
  
INSERT INTO TESTPROD(prodid,etnotes,prodean,prodademevtedesc,prodademeachdesc) VALUES 
(1,NULL,'PROD1',NULL,NULL);

COMMIT;  
Delphi code
Oraquery1 is a TOraQuery

Code: Select all

oraquery1.sql.clear;
oraquery1.sql.add('select ETNOTES, PRODEAN,');
oraquery1.sql.add('       PRODADEMEVTEDESC,');
oraquery1.sql.add('       PRODADEMEACHDESC');
oraquery1.sql.add('from testPROD');
oraquery1.sql.add('Where PRODEAN LIKE :EAN');
oraquery1.sql.add('order by PRODID');
oraquery1.Options.LongStrings := false;
oraquery1.ParamByName('ean').asString:= 'PROD1';
oraquery1.Open;
generates assertion failure in Oraclasses.pas line 12508

Code: Select all

if Res  NeedData then
      Assert(False);            // DEBUG
It's working fine with Oracle 10 on both client and server side
It's working fine when removing ETNOTES from select.
It's working fine when setting longstrings := true;


We'd prefer not to change our delphi code because we need to keep compatibility with old BDE source code and the query is linked to dbcomponents using ftmemo fields.

Posted: Thu 18 Sep 2008 11:28
by Plash
We have fixed this problem. The fix will be included in the next build of ODAC.