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.
******************************************************************