Version 5.5 (Net Option) has a String limitation

Discussion of open issues, suggestions and bugs regarding ODAC (Oracle Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
ADanmayer
Posts: 4
Joined: Wed 04 May 2005 08:10

Version 5.5 (Net Option) has a String limitation

Post by ADanmayer » Wed 04 May 2005 08:20

In Oracle Strings in PL/SQL function calls can have a length up to 8000 Chars. (In Selects only 4000).
We have some functions which are sometimes called with param strings larger than 5000 chars.

Using 4.5 in the past we had no problem, but after changing to version 5.5 we allways get a ORA-01460 error, when using strings larger than 4000 chars.

This only happens if we use the .NET option (ver.: 5.5.1.18 ), using Ora.Net works correct.

Here an example code:
---------------------------
var res: String;
Str: String;
i: integer;
begin
OraSession.Connected:=true;
Str:='';
for i:=0 to 4001 do
Str:=Str+inttostr(i mod 10);

OraSQL.Params.Clear;
OraSQL.ParamCheck:=false;
OraSQL.SQL.Clear;
OraSQL.SQL.Add('begin :res:=:param1||''9''; end;');
with TOraParam(OraSQL.Params.CreateParam(ftString,'param1',ptInput)) do
begin
AsString:=Str;
Size:=6500;
end;

with TOraParam(OraSQL.Params.CreateParam(ftString,'res',ptInputOutput)) do
size:=6500;

OraSQL.Execute;
res:=OraSQL.ParamByname('res').AsString;
ShowMessage('In Length: '+inttostr(length(Str))+' Out length: '+inttostr(length(res)));
end;


thx
alexander danmayer

Alex
Posts: 655
Joined: Mon 08 Nov 2004 08:39

Post by Alex » Thu 05 May 2005 07:53

We got your request and now examines the problem. Unfortunately now we couldn't give you any information. As soon as we solve the problem, we'll let you know.

Alex
Posts: 655
Joined: Mon 08 Nov 2004 08:39

Post by Alex » Thu 12 May 2005 12:47

We reproduced your problem and fixed it. This fix will be included in the next ODAC build.

ADanmayer
Posts: 4
Joined: Wed 04 May 2005 08:10

Post by ADanmayer » Tue 17 May 2005 07:05

Thanks for a fast and reliable customer care!

Post Reply