Hello dbi-users,

I am a very happy user of DBI and DBD::Oracle.
And some days I am using the new Handling of LOBs in DBD::Oracle.

IMHO there is a mistake in the documentation.

I am using Oracle 8i. Not shure about 9 or 10g.
I am running on Windows, but should be the same on Unix.

In http://search.cpan.org/~timb/DBD-Oracle-1.15/Oracle.pm#Handling_LOBs
>LOB Locator Method Examples
>Example: Inserting a new row with large data

I had to change:
>   my $sth = $dbh->prepare( <<"   SQL" );
>      INSERT INTO lob_example
>      ( lob_id, bindata, chardata )
>      VALUES ( ?, ?, ? )
>   SQL
>   $sth->execute( $lob_id, '', '' );

into
>   my $sth = $dbh->prepare( <<"   SQL" );
>      INSERT INTO lob_example
>      ( lob_id, bindata, chardata )
>      VALUES ( ?, empty_blob(), empty_clob() )
>   SQL
>   $sth->execute( $lob_id );

Because NULL is no valid locator. 
A valid locator can be created with empty_blob() or empty_clob(). 
See Metalink Doc 161530.1 "Calling a CLOB Locator Fails With ORA-22275"
  
cu
 Wieland                          mailto:[EMAIL PROTECTED]

Reply via email to