I am going to investigate more, but I thought I would post the question
to see if anyone has run into this problem.

I have co-workers that connecting to a remote Oracle DB (10.1), I
compiled DBD::Oracle 1.16 with the 10.1 client libraries.  The data
returned from a selectall_arrayref is 2 fields a filename and a
quantity.  Here is the isolated code,

286:            my $load_file_ar = $dbh->selectall_arrayref(q{
287                     select FILENAME, NUM_RECORDS
288                       from LOAD_DATA_SRC_FILE
289                      where LOAD_ID = ?
290                        and DATA_UPDATE_ID = ?
291                      order by FILE_ID
292             }, undef, $load_id, $update_id);

$load_id = 19 & $update_id = 51.

...here is the data returned.

  DB<4> x $files_ar
0  ARRAY(0x8536328)
   0  ARRAY(0x85e40e0)
      0  (binary data)
      1  51

what ever $update_id's value is, this is always returned in the [1] position
of the the arrayref and the filename is always binary data.  This works fine
with sqlplus.  

I have tried it with Perl 5.8.[167] always the same results.   The database 
resides on an Alpha and the clients are on Linux.  Trace doesn't show anything
unusual.  I don't know if this is an NLS-utf8 issue.  Any ideas?

                                Thanks,
                                     STH
 
Trace- level 9 is attached.

-- 
Scott T. Hildreth <[EMAIL PROTECTED]>
    DBI::db=HASH(0x829bca0) trace level set to 9 in DBI 1.39-nothread (pid 
25442)
    -> selectall_arrayref for DBD::Oracle::db 
(DBI::db=HASH(0x82fec14)~0x829bca0 '
                select FILENAME, NUM_RECORDS
                  from LOAD_DATA_SRC_FILE
                 where LOAD_ID = ?
                   and DATA_UPDATE_ID = ?
                 order by FILE_ID
        ' undef 19 51)
    >> prepare     DISPATCH (DBI::db=HASH(0x829bca0) rc1/1 @3 g0 ima201 
pid#25442) at /home/demosrc/pmod/DBcommon.pm line 286 via tst_demosrc.pl line 19
1   -> prepare for DBD::Oracle::db (DBI::db=HASH(0x829bca0)~INNER '
                select FILENAME, NUM_RECORDS
                  from LOAD_DATA_SRC_FILE
                 where LOAD_ID = ?
                   and DATA_UPDATE_ID = ?
                 order by FILE_ID
        ' undef)
    dbih_setup_handle(DBI::st=HASH(0x829bee0)=>DBI::st=HASH(0x829bec8), 
DBD::Oracle::st, 829beec, Null!)
    dbih_make_com(DBI::db=HASH(0x829bca0), 829d568, DBD::Oracle::st, 208, 0) 
thr#0
    dbih_setup_attrib(DBI::st=HASH(0x829bec8), Err, DBI::db=HASH(0x829bca0)) 
SCALAR(0x81f9860) (already defined)
    dbih_setup_attrib(DBI::st=HASH(0x829bec8), State, DBI::db=HASH(0x829bca0)) 
SCALAR(0x81f98c0) (already defined)
    dbih_setup_attrib(DBI::st=HASH(0x829bec8), Errstr, DBI::db=HASH(0x829bca0)) 
SCALAR(0x81f9890) (already defined)
    dbih_setup_attrib(DBI::st=HASH(0x829bec8), TraceLevel, 
DBI::db=HASH(0x829bca0)) 9 (already defined)
    dbih_setup_attrib(DBI::st=HASH(0x829bec8), FetchHashKeyName, 
DBI::db=HASH(0x829bca0)) 'NAME' (already defined)
    dbih_setup_attrib(DBI::st=HASH(0x829bec8), HandleError, 
DBI::db=HASH(0x829bca0)) undef (not defined)
    dbd_preparse scanned 2 distinct placeholders
OCIHandleAlloc(83092d8,8363608,OCI_HTYPE_STMT,0,0)=SUCCESS
OCIStmtPrepare(8323594,831e5a8,'
                select FILENAME, NUM_RECORDS
                  from LOAD_DATA_SRC_FILE
                 where LOAD_ID = :p1
                   and DATA_UPDATE_ID = :p2
                 order by FILE_ID
        ',134,1,0)=SUCCESS
OCIAttrGet(8323594,OCI_HTYPE_STMT,836360c,0,24,831e5a8)=SUCCESS
    dbd_st_prepare'd sql SELECT
    dbd_describe SELECT (EXPLICIT, lb 80)...
OCIStmtExecute(831e534,8323594,831e5a8,0,0,0,0,16)=SUCCESS
OCIAttrGet(8323594,OCI_HTYPE_STMT,bfffe28c,0,18,831e5a8)=SUCCESS
OCIParamGet(8323594,4,831e5a8,83636b0,1)=SUCCESS
OCIAttrGet(83251e4,OCI_DTYPE_PARAM,83636c6,0,2,831e5a8)=SUCCESS
OCIAttrGet(83251e4,OCI_DTYPE_PARAM,83636c4,0,1,831e5a8)=SUCCESS
OCIAttrGet(83251e4,OCI_DTYPE_PARAM,83636c8,0,5,831e5a8)=SUCCESS
OCIAttrGet(83251e4,OCI_DTYPE_PARAM,83636ca,0,6,831e5a8)=SUCCESS
OCIAttrGet(83251e4,OCI_DTYPE_PARAM,83636cb,0,7,831e5a8)=SUCCESS
OCIAttrGet(83251e4,OCI_DTYPE_PARAM,83636d8,bfffe288,4,831e5a8)=SUCCESS
    fbh 1: 'FILENAME'   NULLable, otype   1->  5, dbsize 250/251, p250.s0
OCIParamGet(8323594,4,831e5a8,83636f0,2)=SUCCESS
OCIAttrGet(83251c0,OCI_DTYPE_PARAM,8363706,0,2,831e5a8)=SUCCESS
OCIAttrGet(83251c0,OCI_DTYPE_PARAM,8363704,0,1,831e5a8)=SUCCESS
OCIAttrGet(83251c0,OCI_DTYPE_PARAM,8363708,0,5,831e5a8)=SUCCESS
OCIAttrGet(83251c0,OCI_DTYPE_PARAM,836370a,0,6,831e5a8)=SUCCESS
OCIAttrGet(83251c0,OCI_DTYPE_PARAM,836370b,0,7,831e5a8)=SUCCESS
OCIAttrGet(83251c0,OCI_DTYPE_PARAM,8363718,bfffe288,4,831e5a8)=SUCCESS
    fbh 2: 'NUM_RECORDS'        NULLable, otype   2->  5, dbsize 22/134, 
p0.s-127
OCIAttrSet(8323594,OCI_HTYPE_STMT,bfffe284,4,11,831e5a8)=SUCCESS
OCIDefineByPos(8323594,83636b4,831e5a8,1,8364360,251,5,83589e0,83589f0,8358a00,0)=SUCCESS
OCIDefineByPos(8323594,83636f4,831e5a8,2,8363b68,134,5,8363698,8363bf8,8363c08,0)=SUCCESS
    dbd_describe'd 2 columns (row bytes: 272 max, 129 est avg, cache: 99)
1   <- prepare= DBI::st=HASH(0x829bee0) at /home/demosrc/pmod/DBcommon.pm line 
286 via tst_demosrc.pl line 19
       bind :p1 <== 19 (type 0)
       bind :p1 <== 19 (size 2/3/0, ptype 5, otype 1)
       bind :p1 <== '19' (size 2/2, otype 1, indp 0, at_exec 1)
OCIBindByName(8323594,835fd54,831e5a8,":p1",3,83624d8,2,1,835fd66,0,835fd64,0,0,2)=SUCCESS
OCIBindDynamic(8325844,831e5a8,835fd38,401cc24c,835fd38,401cc37c)=SUCCESS
       bind :p1 done with ftype 1
       bind :p2 <== 51 (type 0)
       bind :p2 <== 51 (size 2/3/0, ptype 5, otype 1)
       bind :p2 <== '51' (size 2/2, otype 1, indp 0, at_exec 1)
OCIBindByName(8323594,836220c,831e5a8,":p2",3,8363c18,2,1,836221e,0,836221c,0,0,2)=SUCCESS
OCIBindDynamic(832570c,831e5a8,83621f0,401cc24c,83621f0,401cc37c)=SUCCESS
       bind :p2 done with ftype 1
    dbd_st_execute SELECT (out0, lob0)...
       in  ':p1' [0,0]: len  2, ind 0
       in  ':p2' [0,0]: len  2, ind 0
OCIStmtExecute(831e534,8323594,831e5a8,0,0,0,0,0)=SUCCESS
OCIAttrGet(8323594,OCI_HTYPE_STMT,bfffe906,0,10,831e5a8)=SUCCESS
    dbd_st_execute SELECT returned (SUCCESS, rpc0, fn4, out0)
    dbd_st_fetch 2 fields...
OCIStmtFetch(8323594,831e5a8,1,2,0)=SUCCESS
    dbih_setup_fbav for 2 fields => 0x829bfac
    dbd_st_fetch 2 fields SUCCESS
        0 (rc=0): 'Á.'
        1 (rc=0): '51'
    dbd_st_fetch 2 fields...
OCIStmtFetch(8323594,831e5a8,1,2,0)=NO_DATA
    dbd_st_fetch no-more-data
    <- selectall_arrayref= [ ARRAY(0x829bff4) ] at 
/home/demosrc/pmod/DBcommon.pm line 286 via tst_demosrc.pl line 19
    -> DESTROY for DBD::Oracle::st (DBI::st=HASH(0x829bec8)~INNER)
OCIHandleFree(8323594,OCI_HTYPE_STMT)=SUCCESS
    <- DESTROY= undef at /home/demosrc/pmod/DBcommon.pm line 294
    -> disconnect for DBD::Oracle::db (DBI::db=HASH(0x82fec14)~0x829bca0)
OCISessionEnd(831e534,831e5a8,832781c,0)=SUCCESS
OCIServerDetach(831eb34,831e5a8,0)=SUCCESS
    <- disconnect= 1 at tst_demosrc.pl line 12 via tst_demosrc.pl line 0
    -> DESTROY for DBD::Oracle::db (DBI::db=HASH(0x829bca0)~INNER)
OCIHandleFree(832781c,OCI_HTYPE_SESSION)=SUCCESS
OCIHandleFree(831eb34,OCI_HTYPE_SERVER)=SUCCESS
OCIHandleFree(831e534,OCI_HTYPE_SVCCTX)=SUCCESS
OCIHandleFree(831e5a8,OCI_HTYPE_ERROR)=SUCCESS
    <- DESTROY= undef

Reply via email to