Tim, Thanks for your reply. Here is the complete trace output (starting from the connect):
------------ DBI 1.20-nothread dispatch trace level set to 2 Note: perl is running without the recommended perl -w option logfile path: /home/advantex/server_stats advx_stats_test.pl script database connectivity using: username: tlnrt_odb passwd: <witheld> ODB database server name: odb.world HDB database server name: blah -> DBI->install_driver(Oracle) for hpux perl=5.006001 pid=6070 ruid=102 euid=102 install_driver: DBD::Oracle version 1.12 loaded from /opt/perl5/lib/site_perl/5.6.1/9000/800-hpux/DBD/Oracle.pm <- install_driver= DBI::dr=HASH(0x400c9624) -> DBI->connect(odb.world, tlnrt_odb, ****, Oracle) -> connect for DBD::Oracle::dr (DBI::dr=HASH(0x400c9624)~0x401c6244 'odb.world' 'tlnrt_odb' **** undef) <- connect= DBI::db=HASH(0x401e4e84) at DBI.pm line 426 <- connect= DBI::db=HASH(0x401e4e84) -> STORE for DBD::Oracle::db (DBI::db=HASH(0x401c3510)~INNER 'LongTruncOk' 1) <- STORE= 1 at advx_stats_test.pl line 213 -> STORE for DBD::Oracle::db (DBI::db=HASH(0x401c3510)~INNER 'LongReadLen' 131072) <- STORE= 1 at advx_stats_test.pl line 214 .... some selects which succeed supressed .... -> prepare for DBD::Oracle::db (DBI::db=HASH(0x401e4e84)~0x401c3510 'select area_node.core_description,lab_user.log, lab_logon_session, lab_user_role, lab_role, area_node, lab_resource where lab_user_role.role = lab_role.role_id ...') fbh 1: 'CORE_DESCRIPTION' NO null , otype 1-> 5, dbsize 32/33, p32.s0 fbh 2: 'LOGON_ID' NO null , otype 1-> 5, dbsize 8/9, p8.s0 <- prepare= DBI::st=HASH(0x401c3480) at advx_stats_test.pl line 355 -> execute for DBD::Oracle::st (DBI::st=HASH(0x401c3480)~0x401c30c4) dbd_st_execute SELECT (out0, lob0)... dbd_st_execute SELECT returned (SUCCESS, rpc0, fn4, out0) <- execute= '0E0' at advx_stats_test.pl line 356 -> fetchrow_array for DBD::Oracle::st (DBI::st=HASH(0x401c3480)~0x401c30c4) <- fetchrow_array= ( 'ASKIM_MOSS' 'T525834' ) [2 items] row1 at advx_stats_test.pl line 357 .... successful rows returned supressed .... <- fetchrow_array= ( 'NORDM/RO' 'T319741' ) [2 items] row364 at advx_stats_test.pl line 357 -> fetchrow_array for DBD::Oracle::st (DBI::st=HASH(0x401c3480)~0x401c30c4) !! ERROR: 24345 'ORA-24345: A Truncation or null fetch error occurred (DBD ERROR: ORA-01406 error on field 1 of 2, ' <- fetchrow_array= ( ) [0 items] row365 at advx_stats_test.pl line 357 -> DESTROY for DBD::Oracle::st (DBI::st=HASH(0x401c30c4)~INNER) <- DESTROY= undef at advx_stats_test.pl line 279 -> disconnect for DBD::Oracle::db (DBI::db=HASH(0x401e4e84)~0x401c3510) <- disconnect= 1 at advx_stats_test.pl line 584 ------------ Regards, Trevor van Dyk -----Original Message----- From: Tim Bunce [mailto:[EMAIL PROTECTED]] Sent: Wednesday, April 03, 2002 2:27 PM To: T. van Dyk Cc: [EMAIL PROTECTED] Subject: Re: Perl DBI truncates Trailing Spaces from Placeholder Bind Variables. On Wed, Apr 03, 2002 at 12:54:50PM +0200, T. van Dyk wrote: > I'm having a problem with selecting rows from a query which joins 6 tables. > I'm sure its a buffer-related problem but I cannot figure out how to > overcome this. The query returns about 60 rows with no problems, then fails > with the Oracle truncation error ORA-24345. > > Here's the trace output from DBI->trace( 2 ): > > --------------- > > <- fetchrow_array= ( 'NORDM/RO' 'T319741' ) [2 items] row376 at > advx_stats_test.pl line 357 > -> fetchrow_array for DBD::Oracle::st > (DBI::st=HASH(0x401c38d0)~0x401c1504) > !! ERROR: 24345 'ORA-24345: A Truncation or null fetch error occurred > (DBD ERROR: ORA-01406 error on field 1 of 2, ' > <- fetchrow_array= ( ) [0 items] row377 at advx_stats_test.pl line 357 > -> DESTROY for DBD::Oracle::st (DBI::st=HASH(0x401c1504)~INNER) > <- DESTROY= undef at advx_stats_test.pl line 279 > -> disconnect for DBD::Oracle::db (DBI::db=HASH(0x401e4ecc)~0x401c3960) > <- disconnect= 1 at advx_stats_test.pl line 586 > > ------------- > > Column 1 is VARCHAR2(32) and column 2 is VARCHAR2(8). Please include the 'describe' part of the trace, in fact everything from the prepare thru the execute. That'll show the query and what buffers DBD::Oracle has setup. Tim.