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.

Reply via email to