Assertion failure in oraclasses.pas

Discussion of open issues, suggestions and bugs regarding ODAC (Oracle Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
sandrine
Posts: 11
Joined: Thu 04 Sep 2008 08:56

Assertion failure in oraclasses.pas

Post by sandrine » Tue 16 Sep 2008 15:41

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.

Plash
Devart Team
Posts: 2844
Joined: Wed 10 May 2006 07:09

Post by Plash » Thu 18 Sep 2008 11:28

We have fixed this problem. The fix will be included in the next build of ODAC.

Post Reply