John,

I've tried the following combinations ...

11.1.0.6 client connecting to 9.2.0.8 DB (fully patched)
11.1.0.6 client connecting to 11.1.0.6 DB

Same result in both cases.  In case it matters, my OS is Ubuntu 8.04.

Note that the LOB refetch SQL is (from the trace) :

lob refetch sql: select BCOL "blob" from BCOL "blob" where rowid = :rid
for update

It should be :

select BCOL "blob" from sb_blob_x where rowid = :rid for update

Could you please post the output when you ran it so I can see what
differs.

Thanks,

Steve

On Wed, 2008-09-10 at 07:03 -0400, John Scoles wrote:
> Well I am running my code against a 10.2 DB looks like you are using 9.2??
> 
> perhaps you patch-set for you 9.2 db is not up to date??
> 
> cheers
> John Scoles
> 
> Steve Baldwin wrote:
> > I wonder what we have different.  Here's a run I just did that shows
> > Oracle version, DBI version, and DBD::Oracle version.  The Oracle client
> > is 11.1 full (i.e. not Instant) ...
> >
> > [EMAIL PROTECTED] dev][2]$ sqlplus [EMAIL PROTECTED]
> >
> > SQL*Plus: Release 11.1.0.6.0 - Production on Wed Sep 10 05:47:04 2008
> >
> > Copyright (c) 1982, 2007, Oracle.  All rights reserved.
> >
> > Enter
> > password:                                                                   
> >                     
> >
> > Connected to:
> > Oracle9i Release 9.2.0.8.0 - Production
> > JServer Release 9.2.0.8.0 - Production
> >
> > SQL> Disconnected from Oracle9i Release 9.2.0.8.0 - Production
> > JServer Release 9.2.0.8.0 - Production
> > [EMAIL PROTECTED] dev][2]$ perl -e 'use DBI; print "$DBI::VERSION\n"'
> > 1.52
> > [EMAIL PROTECTED] dev][2]$ perl -e 'use DBD::Oracle; print
> > "$DBD::Oracle::VERSION\n"'
> > 1.22
> > [EMAIL PROTECTED] dev][2]$ ./blob.plx
> > create table ...done
> > create synonym ...done
> > insert (direct) ...done
> > insert (synonym) ...    DBI::db=HASH(0x202dafd0) trace level set to
> > 0x0/3 (DBI @ 0x0/210453397504) in DBI 1.52-ithread (pid 3422)
> >     -> prepare for DBD::Oracle::db (DBI::db=HASH(0x202703b0)~0x202dafd0
> > '
> >     insert
> >     into    sb_blob_x (id, bcol)
> >     values  (:id, :blob)
> >     ') thr#1ffd0010
> >
> > dbih_setup_handle(DBI::st=HASH(0x202daa90)=>DBI::st=HASH(0x202da590),
> > DBD::Oracle::st, 202daa70, Null!)
> >     dbih_make_com(DBI::db=HASH(0x202dafd0), 202b5e90, DBD::Oracle::st,
> > 448, 0) thr#1ffd0010
> >     dbd_preparse scanned 2 distinct placeholders
> >     dbd_st_prepare'd sql INSERT (pl1, auto_lob1, check_sql1)
> >     dbd_describe skipped for INSERT
> >     <- prepare= DBI::st=HASH(0x202daa90) at blob.plx line 39
> >     -> bind_param for DBD::Oracle::st
> > (DBI::st=HASH(0x202daa90)~0x202da590 ':id' 20) thr#1ffd0010
> > dbd_bind_ph(): bind :id <== 20 (type 0 (DEFAULT (varchar)))
> > dbd_rebind_ph_char() (1): bind :id <== 20 (size 2/8/0, ptype 5(VARCHAR),
> > otype 1 )
> > dbd_rebind_ph_char() (2): bind :id <== '20' (size 2/8, otype 1(VARCHAR),
> > indp 0, at_exec 1)
> >       bind :id as ftype 1 (VARCHAR)
> > dbd_rebind_ph(): bind :id <== 20 (in, not-utf8, csid 873->0->873, ftype
> > 1 (VARCHAR), csform 0->0, maxlen 8, maxdata_size 0)
> >     <- bind_param= 1 at blob.plx line 44
> >     -> bind_param for DBD::Oracle::st
> > (DBI::st=HASH(0x202daa90)~0x202da590 ':blob' 'yyyyy' HASH(0x202da5d0))
> > thr#1ffd0010
> > dbd_bind_ph(): bind :blob <== 'yyyyy' (type 0 (DEFAULT (varchar)),
> > attribs: HASH(0x202da5d0))
> >       bind :blob as ftype 113 (SQLT_BLOB / long)
> > dbd_rebind_ph(): bind :blob <== 'yyyyy' (in, not-utf8, csid 0->0->0,
> > ftype 113 (SQLT_BLOB / long), csform 0->0, maxlen 8, maxdata_size 0)
> >     <- bind_param= 1 at blob.plx line 45
> >     -> execute for DBD::Oracle::st (DBI::st=HASH(0x202daa90)~0x202da590)
> > thr#1ffd0010
> >    dbd_st_execute INSERT (out0, lob1)...
> > Statement Execute Mode is 32 (COMMIT_ON_SUCCESS)
> >        in  ':id' [0,0]: len  2, ind 0, value=20
> >     dbd_st_execute INSERT returned (SUCCESS, rpc1, fn3, out0)
> >        lob refetching a synonym named=SB_BLOB_X for
> > STBALDWINDBA.SB_BLOB 
> >        lob refetch from table STBALDWINDBA.SB_BLOB, 2 columns:
> >        lob refetch table col 1: 'ID' otype 2
> >        lob refetch table col 2: 'BCOL' otype 113
> >        lob refetch :blob param: otype 113, matched field 'BCOL' by type
> > (BCOL "blob")
> >        lob refetch sql: select BCOL "blob" from BCOL "blob" where rowid
> > = :rid for update
> >        lob refetch 1 for ':blob' param: ftype 113 setup
> >     !! ERROR: '942' 'ORA-00942: table or view does not exist (DBD ERROR:
> > error possibly near <*> indicator at char 24 in '
> >     insert
> >     into    <*>sb_blob_x (id, bcol)
> >     values  (:id, :blob)
> >     ')' (err#1)
> >     <- execute= undef at blob.plx line 46
> > 1   -> FETCH for DBD::Oracle::st (DBI::st=HASH(0x202da590)~INNER
> > 'ParamValues') thr#1ffd0010
> >        ERROR: '942' 'ORA-00942: table or view does not exist (DBD ERROR:
> > error possibly near <*> indicator at char 24 in '
> >     insert
> >     into    <*>sb_blob_x (id, bcol)
> >     values  (:id, :blob)
> >     ')' (err#1)
> > 1   <- FETCH= HASH(0x202da930)2keys at blob.plx line 46
> > DBD::Oracle::st execute failed: ORA-00942: table or view does not exist
> > (DBD ERROR: error possibly near <*> indicator at char 24 in '
> >     insert
> >     into    <*>sb_blob_x (id, bcol)
> >     values  (:id, :blob)
> >     ') [for Statement "
> >     insert
> >     into    sb_blob_x (id, bcol)
> >     values  (:id, :blob)
> >     " with ParamValues: :blob='yyyyy', :id=20] at ./blob.plx line 46.
> >     -> DESTROY for DBD::Oracle::st (DBI::st=HASH(0x202da590)~INNER)
> > thr#1ffd0010
> >        ERROR: '942' 'ORA-00942: table or view does not exist (DBD ERROR:
> > error possibly near <*> indicator at char 24 in '
> >     insert
> >     into    <*>sb_blob_x (id, bcol)
> >     values  (:id, :blob)
> >     ')' (err#1)
> >     <- DESTROY= undef
> >     -> trace for DBD::Oracle::db (DBI::db=HASH(0x202703b0)~0x202dafd0 0)
> > thr#1ffd0010
> >        ERROR: '942' 'ORA-00942: table or view does not exist (DBD ERROR:
> > error possibly near <*> indicator at char 24 in '
> >     insert
> >     into    <*>sb_blob_x (id, bcol)
> >     values  (:id, :blob)
> >     ')' (err#0)
> >     <- trace= 3 at blob.plx line 51 via  at blob.plx line 0
> >
> >
> >
> > On Tue, 2008-09-09 at 07:00 -0400, John Scoles wrote:
> >   
> >> Yes and I get no error with it it seems to run fine. 
> >>
> >> Steve Baldwin wrote:
> >>     
> >>> Thanks for the response John.  Did you try the test case I put up on the
> >>> bug I logged in rt (see below)?
> >>>
> >>> Steve
> >>>
> >>> On Mon, 2008-09-08 at 09:54 -0400, John Scoles wrote:
> >>>   
> >>>       
> >>>> Yep vacation was ok until I fell of the mountain but I am much better 
> >>>> now :-)
> >>>>
> >>>> Anyway my real job is keeping me busy so my DBD time is down to only a 
> >>>> few hours a week for the next little while. I have worked this one up 
> >>>> but I cannot seem to recreate the error but I am still working onit.
> >>>>
> >>>> It it is on my list for 1.23
> >>>>
> >>>> Cheers
> >>>> John Scoles
> >>>>
> >>>>
> >>>> Steve Baldwin wrote:
> >>>>     
> >>>>         
> >>>>> John,
> >>>>>
> >>>>> Now that you are back from vacation (I hope it went well), did you see
> >>>>> this?  I have also logged it in rt here :
> >>>>>
> >>>>> http://rt.cpan.org/Public/Bug/Display.html?id=38267
> >>>>>
> >>>>> (Can't seem to get into rt at the moment so I can't see if there have
> >>>>> been any updates).
> >>>>>
> >>>>> Anyway, if you get a chance to have another look at this, I would be
> >>>>> most grateful.
> >>>>>
> >>>>> Cheers,
> >>>>>
> >>>>> Steve
> >>>>>
> >>>>> On Tue, 2008-08-05 at 14:24 +1000, Steve Baldwin wrote:
> >>>>>   
> >>>>>       
> >>>>>           
> >>>>>> Hi,
> >>>>>>
> >>>>>> The problem that existed for CLOB's and BLOB's in 1.21 has been
> >>>>>> partially fixed.  The good news is that CLOB's appear to be OK.
> >>>>>>
> >>>>>> BLOB's however appear to still be broken.  Here is an extract from a
> >>>>>> level 3 trace ...
> >>>>>>
> >>>>>>     DBI::db=HASH(0x61b8350) trace level set to 0x0/3 (DBI @
> >>>>>> 0x0/47120086204416) in DBI 1.52-ithread (pid 27618)
> >>>>>>     -> prepare for DBD::Oracle::db (DBI::db=HASH(0x61a64d0)~0x61b8350 '
> >>>>>>             INSERT
> >>>>>>             INTO    sb_demo(data_b)
> >>>>>>             VALUES  (:blob)
> >>>>>>         ') thr#4e9b010
> >>>>>>     dbih_setup_handle(DBI::st=HASH(0x632baa0)=>DBI::st=HASH(0x632bb90),
> >>>>>> DBD::Oracle::st, 632bba0, Null!)
> >>>>>>     dbih_make_com(DBI::db=HASH(0x61b8350), 61c0570, DBD::Oracle::st,
> >>>>>> 448, 0) thr#4e9b010
> >>>>>>     dbd_preparse scanned 1 distinct placeholders
> >>>>>>     dbd_st_prepare'd sql INSERT (pl1, auto_lob1, check_sql1)
> >>>>>>     dbd_describe skipped for INSERT
> >>>>>>     <- prepare= DBI::st=HASH(0x632baa0) at tst-utf8.plx line 191 via  
> >>>>>> at
> >>>>>> tst-utf8.plx line 239
> >>>>>>     -> bind_param for DBD::Oracle::st 
> >>>>>> (DBI::st=HASH(0x632baa0)~0x632bb90
> >>>>>> ':blob' '..........�W....' (type 0 (DEFAULT (varchar)), attribs:
> >>>>>> HASH(0x6311c40))
> >>>>>>       bind :blob as ftype 113 (SQLT_BLOB / long)
> >>>>>> dbd_rebind_ph(): bind :blob <== '........' (in, not-utf8, csid 0->0->0,
> >>>>>> ftype 113 (SQLT_BLOB / long), csform 0->0, maxlen 8, maxdata_size 0)
> >>>>>>     <- bind_param= 1 at tst-utf8.plx line 197 via  at tst-utf8.plx line
> >>>>>> 239
> >>>>>>     -> execute for DBD::Oracle::st (DBI::st=HASH(0x632baa0)~0x632bb90)
> >>>>>> thr#4e9b010
> >>>>>>    dbd_st_execute INSERT (out0, lob1)...
> >>>>>> Statement Execute Mode is 0 (DEFAULT)
> >>>>>>     dbd_st_execute INSERT returned (SUCCESS, rpc1, fn3, out0)
> >>>>>>        lob refetching a synonym named=SB_DEMO for FRAMEWORK.SB_DEMO 
> >>>>>>        lob refetch from table FRAMEWORK.SB_DEMO, 3 columns:
> >>>>>>        lob refetch table col 1: 'LINE_NUMBER' otype 2
> >>>>>>        lob refetch table col 2: 'TEXT' otype 1
> >>>>>>        lob refetch table col 3: 'DATA_B' otype 113
> >>>>>>        lob refetch :blob param: otype 113, matched field 'DATA_B' by
> >>>>>> type (DATA_B "blob")
> >>>>>>        lob refetch sql: select DATA_B "blob" from DATA_B "blob" where
> >>>>>> rowid = :rid for update
> >>>>>>        lob refetch 1 for ':blob' param: ftype 113 setup
> >>>>>>     !! ERROR: '942' 'ORA-00942: table or view does not exist (DBD 
> >>>>>> ERROR:
> >>>>>> OCIStmtExecute/LOB refetch)' (err#1)
> >>>>>>     <- execute= undef at tst-utf8.plx line 198 via  at tst-utf8.plx 
> >>>>>> line
> >>>>>> 239
> >>>>>>     -> HandleError on DBI::st=HASH(0x632bb90) via CODE(0x6311080)
> >>>>>> (undef)
> >>>>>>
> >>>>>> It appears it is attempting to use the BLOB column name for the table
> >>>>>> name in the refetch SQL statement.
> >>>>>>
> >>>>>> Thanks for your help.
> >>>>>>
> >>>>>> Steve
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> ******************************************************************
> >>>>>> This email is intended solely for the use of the addressee and may
> >>>>>> contain information that is confidential, proprietary, or both.
> >>>>>> If you receive this email in error please immediately notify the
> >>>>>> sender and delete the email.
> >>>>>> ******************************************************************
> >>>>>>
> >>>>>>     
> >>>>>>         
> >>>>>>             
> >>>>> ******************************************************************
> >>>>> This email is intended solely for the use of the addressee and may
> >>>>> contain information that is confidential, proprietary, or both.
> >>>>> If you receive this email in error please immediately notify the
> >>>>> sender and delete the email.
> >>>>> ******************************************************************
> >>>>>
> >>>>>   
> >>>>>       
> >>>>>           
> >>>
> >>> ******************************************************************
> >>> This email is intended solely for the use of the addressee and may
> >>> contain information that is confidential, proprietary, or both.
> >>> If you receive this email in error please immediately notify the
> >>> sender and delete the email.
> >>> ******************************************************************
> >>>
> >>>   
> >>>       
> >
> >
> >
> > ******************************************************************
> > This email is intended solely for the use of the addressee and may
> > contain information that is confidential, proprietary, or both.
> > If you receive this email in error please immediately notify the
> > sender and delete the email.
> > ******************************************************************
> >
> >   



******************************************************************
This email is intended solely for the use of the addressee and may
contain information that is confidential, proprietary, or both.
If you receive this email in error please immediately notify the
sender and delete the email.
******************************************************************

Reply via email to