First try rebuilding DBD::Oracle if it wasn't built for the version of
Oracle you're talking to.
If that doesn't help then talk to Oracle about it. Don't mention the
DBI, just talk about your 'Oracle OCI application' :)
On the upside, it seems that it does say 0 rows updated :)
Tim.
On Fri, Jun 01, 2001 at 10:52:59AM +0200, [EMAIL PROTECTED] wrote:
> Hi,
>
> I'm using DBI 1.16 with DBD:Oracle 1.06 , the following line does NOT give
> me an error, while the same code DOES give an error (as it should) when run
> through sqlplus:
>
> update DC_PATROL_STATUS_TABLE set
> SEVERITY='OK',date_inserted=sysdate,escalation_id='*NONE*',
> MESSAGE='Reset from GUI by user:
> user',TIMESTAMP=991379859000
> where SYSTEM_NAME='hdxh20' and MODULE='KPN_Log' and
> INSTANCE='-tmp-logfile1_txt'
> and (PARAMETER = 'Msg' or PARAMETER = 'OldMsg');
>
> The point is that the value for SEVERITY is too large for the column, which
> oracle sqlplus reports as:
>
> update DC_PATROL_STATUS_TABLE set
> SEVERITY='OK',date_inserted=sysdate,escalation_id='*NONE*',
> *
> ERROR at line 1:
> ORA-01401: inserted value too large for column
>
> My question is: why does the $dbh->do() I issue the same command with using
> DBI/DBD not return an error??
> (RaiseError = 1, PrintError = 1)
>
> Oracle version is 8.1.7.
> OS = HPUX 11.00
>
> ** Trace with level 7 and perl -V output appended:
>
> DBI 1.16-nothread dispatch trace level set to 7
> Note: perl is running without the recommended perl -w option
> -> do in DBD::_::db for DBD::Oracle::db
> (DBI::db=HASH(0x402406c0)~0x4023a7ec 'update DC_PATROL_STATUS_TABLE set
> SEVERITY='OK',date_inserted=sysdate,escalation_id='*NONE*',
> MESSAGE='Reset from GUI by user:
> patrolAgent',TIMESTAMP=991385460000
> where SYSTEM_NAME='hdxh20' and MODULE='KPN_Log' and
> INSTANCE='KPN_Log' and (PARAMETER = 'Msg' or PARAMETER = 'OldMsg')')
> 2 -> prepare for DBD::Oracle::db (DBI::db=HASH(0x4023a7ec)~INNER 'update
> DC_PATROL_STATUS_TABLE set
> SEVERITY='OK',date_inserted=sysdate,escalation_id='*NONE*',
> MESSAGE='Reset from GUI by user:
> patrolAgent',TIMESTAMP=991385460000
> where SYSTEM_NAME='hdxh20' and MODULE='KPN_Log' and
> INSTANCE='KPN_Log' and (PARAMETER = 'Msg' or PARAMETER = 'OldMsg')' undef)
> New DBI::st (for DBD::Oracle::st, parent=DBI::db=HASH(0x4023a7ec), id=)
> dbih_setup_handle(DBI::st=HASH(0x4024072c)=>DBI::st=HASH(0x401f791c),
> DBD::Oracle::st, 40240774, Null!)
> dbih_make_com(DBI::db=HASH(0x4023a7ec), DBD::Oracle::st, 204)
> dbih_setup_attrib(DBI::st=HASH(0x401f791c), Err,
> DBI::db=HASH(0x4023a7ec)) SCALAR(0x40242da0) (already defined)
> dbih_setup_attrib(DBI::st=HASH(0x401f791c), State,
> DBI::db=HASH(0x4023a7ec)) SCALAR(0x4018def0) (already defined)
> dbih_setup_attrib(DBI::st=HASH(0x401f791c), Errstr,
> DBI::db=HASH(0x4023a7ec)) SCALAR(0x40242dc4) (already defined)
> dbih_setup_attrib(DBI::st=HASH(0x401f791c), Handlers,
> DBI::db=HASH(0x4023a7ec)) ARRAY(0x4026e2fc) (already defined)
> dbih_setup_attrib(DBI::st=HASH(0x401f791c), Debug,
> DBI::db=HASH(0x4023a7ec)) 0 (already defined)
> OCIHandleAlloc(4002d6b8,40227084,4,0,00000000)=SUCCESS
> OCIStmtPrepare(4028d920,4003eb30,'update DC_PATROL_STATUS_TABLE set
> SEVERITY='OK',date_inserted=sysdate,escalation_id='*NONE*',
> MESSAGE='Reset from GUI by user:
> patrolAgent',TIMESTAMP=991385460000
> where SYSTEM_NAME='hdxh20' and MODULE='KPN_Log' and
> INSTANCE='KPN_Log' and (PARAMETER = 'Msg' or PARAMETER =
> 'OldMsg')',286,1,0)=SUCCESS
> OCIAttrGet(4028d920,4,40227088,00000000,24,4003eb30)=SUCCESS
> dbd_st_prepare'd sql UPDATE
> dbd_describe skipped for UPDATE
> 2 <- prepare= DBI::st=HASH(0x4024072c) at
> /var/tools/lib/perl5/PA-RISC1.1/DBI.pm line 930.
> -> execute for DBD::Oracle::st (DBI::st=HASH(0x4024072c)~0x401f791c)
> dbd_st_execute UPDATE (out0, lob0)...
> OCIStmtExecute(4003e900,4028d920,4003eb30,1,0,00000000,00000000,0)=SUCCESS
> OCIAttrGet(4028d920,4,7f7e2430,00000000,9,4003eb30)=SUCCESS
> OCIAttrGet(4028d920,4,7f7e2454,00000000,10,4003eb30)=SUCCESS
> dbd_st_execute UPDATE returned (SUCCESS, rpc0, fn5, out0)
> <- execute= '0E0' at /var/tools/lib/perl5/PA-RISC1.1/DBI.pm line 931.
> -> rows for DBD::Oracle::st (DBI::st=HASH(0x4024072c)~0x401f791c)
> OCIAttrGet(4028d920,4,7f7e23b8,00000000,9,4003eb30)=SUCCESS
> <- rows= 0 at /var/tools/lib/perl5/PA-RISC1.1/DBI.pm line 932.
> <- do= '0E0' at ./set_status line 31.
> <> DESTROY ignored for outer handle DBI::st=HASH(0x4024072c) (inner
> DBI::st=HASH(0x401f791c))
> -> DESTROY for DBD::Oracle::st (DBI::st=HASH(0x401f791c)~INNER)
> OCIHandleFree(4028d920,4)=SUCCESS
> <- DESTROY= undef at ./set_status line 39.
> dbih_clearcom (h 0x4024072c, com 0x40227008):
> FLAGS 0x191: COMSET Warn RaiseError PrintError
> TYPE 3
> PARENT DBI::db=HASH(0x4023a7ec)
> KIDS 0 (0 active)
> IMP_DATA undef in 'DBD::Oracle::st'
> NUM_OF_FIELDS 0
> NUM_OF_PARAMS 0
> dbih_clearcom 0x4024072c (com 0x40227008, type 3) done.
>
> -> commit for DBD::Oracle::db (DBI::db=HASH(0x402406c0)~0x4023a7ec)
> OCITransCommit(4003e900,4003eb30,0)=SUCCESS
> <- commit= 1 at ./set_status line 39.
> -> disconnect for DBD::Oracle::db (DBI::db=HASH(0x402406c0)~0x4023a7ec)
> OCISessionEnd(4003e900,4003eb30,4028e480,0)=SUCCESS
> OCIServerDetach(4003e970,4003eb30,0)=SUCCESS
> <- disconnect= 1 at ./set_status line 40.
> <> DESTROY ignored for outer handle DBI::db=HASH(0x402406c0) (inner
> DBI::db=HASH(0x4023a7ec))
> -> DESTROY for DBD::Oracle::db (DBI::db=HASH(0x4023a7ec)~INNER)
> OCIHandleFree(4028e480,9)=SUCCESS
> OCIHandleFree(4003e970,8)=SUCCESS
> OCIHandleFree(4003e900,3)=SUCCESS
> OCIHandleFree(4003eb30,2)=SUCCESS
> <- DESTROY= undef.
> dbih_clearcom (h 0x402406c0, com 0x40272788):
> FLAGS 0x191: COMSET Warn RaiseError PrintError
> TYPE 2
> PARENT DBI::dr=HASH(0x402406fc)
> KIDS 0 (0 active)
> IMP_DATA undef in 'DBD::Oracle::db'
> dbih_clearcom 0x402406c0 (com 0x40272788, type 2) done.
>
> -- DBI::END
> -> disconnect_all for DBD::Oracle::dr
> (DBI::dr=HASH(0x4018dcf8)~0x402406fc)
> <- disconnect_all= '' at /var/tools/lib/perl5/PA-RISC1.1/DBI.pm line
> 454.
> -> DESTROY in DBD::_::common for DBD::Oracle::dr
> (DBI::dr=HASH(0x402406fc)~INNER)
> <- DESTROY= undef during global destruction.
> dbih_clearcom (h 0x4018dcf8, com 0x40272708):
> FLAGS 0x215: COMSET Active Warn ShowErrorStatement AutoCommit
> TYPE 1
> PARENT undef
> KIDS 0 (0 active)
> IMP_DATA undef in 'DBD::Oracle::dr'
> dbih_clearcom 0x4018dcf8 (com 0x40272708, type 1) done.
>
> <> DESTROY for DBI::dr=HASH(0x4018dcf8) ignored (inner handle gone)
>
> === PERL -V ===================================================
>
> Summary of my perl5 (revision 5.0 version 6 subversion 0) configuration:
> Platform:
> osname=hpux, osvers=11.00, archname=PA-RISC1.1
> uname='hp-ux pwxh34 b.11.00 a 9000819 76651342 two-user license '
> config_args=''
> hint=previous, useposix=true, d_sigaction=define
> usethreads=undef use5005threads=undef useithreads=undef
> usemultiplicity=undef
> useperlio=undef d_sfio=undef uselargefiles=undef
> use64bitint=undef use64bitall=undef uselongdouble=undef usesocks=undef
> Compiler:
> cc='cc', optimize='+O2', gccversion=
> cppflags='-D_HPUX_SOURCE -Aa -DDEBUGGING'
> ccflags ='-D_HPUX_SOURCE -Aa -DDEBUGGING'
> stdchar='unsigned char', d_stdstdio=define, usevfork=false
> intsize=4, longsize=4, ptrsize=4, doublesize=8
> d_longlong=undef, longlongsize=, d_longdbl=define, longdblsize=16
> ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
> lseeksize=4
> alignbytes=8, usemymalloc=y, prototype=define
> Linker and Libraries:
> ld='ld', ldflags =' -L/usr/local/lib'
> libpth=/usr/local/lib /lib /usr/lib /usr/ccs/lib
> libs=-lnsl -lnm -lndbm -ldld -lm -lc -lndir -lcrypt -lsec -lpthread -lcl
> -lpthread
> libc=/lib/libc.sl, so=sl, useshrplib=false, libperl=libperl.a
> Dynamic Linking:
> dlsrc=dl_hpux.xs, dlext=sl, d_dlsymun=undef, ccdlflags='-Wl,-E
> -Wl,-B,deferred '
> cccdlflags='+z', lddlflags='-b +vnocompatwarnings -L/usr/local/lib'
>
>
> Characteristics of this binary (from libperl):
> Compile-time options: DEBUGGING
> Built under hpux
> Compiled at May 25 2001 16:38:27
> %ENV:
>
> PERL5LIB="/afs1/utilprd/current/exe:/afs1/utilprd/current/exe:/afs1/utilprd/
> current/exe:.:/var/sdmi_adm/sdmiprd/current/lib:/afs2/patguidvl/01.04-00/exe
> :/afs1/orcprd/current/lib:/afs1/patguiprd/current/exe:/afs1/orcprd/current/l
> ib:/afs1/patguiprd/current/exe:/afs1/orcprd/current/lib"
> PERL5LIB_ORC="/afs1/orcprd/current/lib"
> @INC:
> /afs1/utilprd/current/exe
> /afs1/utilprd/current/exe
> /afs1/utilprd/current/exe
> .
> /var/sdmi_adm/sdmiprd/current/lib
> /afs2/patguidvl/01.04-00/exe
> /afs1/orcprd/current/lib
> /afs1/patguiprd/current/exe
> /afs1/orcprd/current/lib
> /afs1/patguiprd/current/exe
> /afs1/orcprd/current/lib
> /var/tools/lib/perl5/PA-RISC1.1
> /var/tools/lib/perl5
> /var/tools/lib/perl5/PA-RISC1.1
> /var/tools/lib/perl5
> /var/tools/lib/perl5
> .