collect and Direct mode

Discussion of open issues, suggestions and bugs regarding ODAC (Oracle Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
sinys
Posts: 186
Joined: Tue 21 Feb 2012 03:44

collect and Direct mode

Post by sinys » Thu 18 Jun 2015 05:53

Hello,

XE2, ODAC 9.5

Example:

Code: Select all

  OraSession1.ConnectString := 'scott/tiger@orcl12';
  OraSession1.Connect;
  OraQuery1.SQL.Text := 'select collect(level) from dual connect by level <= 10';
  OraQuery1.Open;
it's work fine with oracle client.
But in direct mode I get error

Code: Select all

  OraSession1.ConnectString := 'scott/[email protected]:1522:sn=orcl12';
  OraSession1.Options.Direct := True;
  OraSession1.Connect;
  OraQuery1.SQL.Text := 'select collect(level) from dual connect by level <= 10';
  OraQuery1.Open; // raise error
NET: ORA-01948: identifier's name length (31) exceeds maximum (30)
ORA-06512: at "SYS.DBMS_PICKLER", line 20
ORA-06512: at "SYS.DBMS_PICKLER", line 89
ORA-06512: at line 1

AlexP
Devart Team
Posts: 5530
Joined: Tue 10 Aug 2010 11:35

Re: collect and Direct mode

Post by AlexP » Thu 18 Jun 2015 06:35

Hello,

Thank you for the sample. We have reproduced the problem and will try to fix it as soon as possible.

AlexP
Devart Team
Posts: 5530
Joined: Tue 10 Aug 2010 11:35

Re: collect and Direct mode

Post by AlexP » Mon 13 Jul 2015 12:48

We have fixed the ORA-01948 error: identifier's name length (31) exceeds maximum (30), however the "collect ()" type will not be supported in the direct mode. We will try to support this type in future versions.

Post Reply