Data trucated if query long and varchar(2000)

sittner

Member
Hi,

if executing a query selecting a long and a varchar(2000) field, data in the long field get truncated in the result. I've tested this with DOA 345 and 346.
PL/SQL Developer 5.0.1.480 also provides wrong results. In SQL Plus everything looks fine.

I'm using Oracle Server 8.1.7.3 and Client 8.1.7.0. With SQL*Net 7 on Client results are ok. (I've testet both clients since we are migrating from client 7 to 8).

You can verify the case with the folloing script:

>>>>>>------ cut here ---------

drop table trunctest
/

create table trunctest (
test1 long,
test2 varchar(2000)
)
/

declare
TestStr long;
i integer;
j integer;
begin
TestStr:=null;
for i in 65..90 loop
for j in 0..99 loop
TestStr:=TestStr | | chr(i);
end loop;
TestStr:=TestStr | | chr(10);
end loop;
insert into trunctest (test1,test2) values (TestStr,'Test');
commit;
end;
/

 
It is a strange problem. It seems that it is also restricted to the first record (if more than 1 record is present). If you use OCI7 on Net8 it also works okay.

We'll look into this.

------------------
Marco Kalter
Allround Automations
 
Back
Top