Page 1 of 1

Version 5.5 (Net Option) has a String limitation

Posted: Wed 04 May 2005 08:20
by ADanmayer
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

Posted: Thu 05 May 2005 07:53
by Alex
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.

Posted: Thu 12 May 2005 12:47
by Alex
We reproduced your problem and fixed it. This fix will be included in the next ODAC build.

Posted: Tue 17 May 2005 07:05
by ADanmayer
Thanks for a fast and reliable customer care!