I have a table with 5 BLOB's. BLOB's are easy in DBD::CSV and DBD::Unify, but they need "some help" in Oracle.
I had a script that did load a table from a CSV file by first inserting all the records without the blob's and then update each blob in turn ((DBD::Oracle would not allow me to have 5 BLOB's in one insert or update). Given that c_ll + m_nr are a primary key, I had to change foreach my $blob (qw( w_tl w_xml0 w_xml1 w_xml2 w_xml3 attr )) { print STDERR "Setting $blob in ll_verz_rel ...\n"; my $sth = $dbh->prepare ("update ll_verz_rel set $blob = ? where c_ll = ? and m_nr = ?"); for (@llvr) { $_->{$blob} or next; $sth->bind_param (1, $_->{$blob}, { ora_type => ORA_BLOB }); $sth->bind_param (2, $_->{c_ll}, { ora_type => ORA_NUMBER }); $sth->bind_param (3, $_->{m_nr}, { ora_type => ORA_NUMBER }); $sth->execute (); } } to foreach my $blob (qw( w_tl w_xml0 w_xml1 w_xml2 w_xml3 attr )) { print STDERR "Setting $blob\tin ll_verz_rel ... "; my $sth = prepar ("update ll_verz_rel set $blob = ? where c_ll = ? and m_nr = ?"); $sth->bind_param (1, undef, { ora_type => ORA_BLOB, ora_field => $blob }); for (@llvr) { $_->{$blob} or next; $sth->execute ($_->{$blob}, $_->{c_ll}, $_->{m_nr}); } } to get it to insert the records. It FAILED to work without the ora_field addition Now in this case I don't really mind the change. It makes my code easier, but if I bind to one parameter only, the bind should/could know what to bind to, it shouldn't need the ora_field entry in the hashref. In above case, there is one ONE blob in the statement at any time, so there is no conflict at all, ever. -- H.Merijn Brand http://tux.nl Perl Monger http://amsterdam.pm.org/ using perl5.00307 .. 5.17 porting perl5 on HP-UX, AIX, and openSUSE http://mirrors.develooper.com/hpux/ http://www.test-smoke.org/ http://qa.perl.org http://www.goldmark.org/jeff/stupid-disclaimers/