Thread Perl/DBI - Fehler abfangen (2 answers)
Opened by nes at 2005-01-31 15:12

nes
 2005-01-31 15:12
#51430 #51430
User since
2005-01-24
14 Artikel
BenutzerIn
[default_avatar]
Hallo allseits!

Ich hab einen grössere Menge teils auch fehlerhafte Daten in eine Oracle-DB zu laden. Mein Script funktioniert auch soweit ganz gut, nur werd ich mit einer Menge Oracle - Fehlermeldungen "zugetextet", die würde ich ganz gerne abfangen. Ich hätte gedacht daß das mit "eval" funktioniert, tuts aber nicht ... hier ein Codeschnippsel:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
my $dbh = DBI->connect( "dbi:Oracle:$db_host", $db_user, $db_pass,
) || die "Database connection not made: $DBI::errstr";
...
my $sth = $dbh->prepare(q{
INSERT into DGKTO_BASIS
( Feld1, Feld2, Feld3, Feld4 )
) values (
?, ?, TO_DATE(?,'YYYYMMDD'), ?
}) || die "Can't prepare statement: $DBI::errstr";
...
# Hauptschleife
...
eval {
$sth->execute ($feld1, $feld2, $feld3, $feld4);
};

if ( $DBI::err ) {
# weiterer Code
}


Beim Ablauf des Scripts kommen Fehler wie
Quote
DBD::Oracle::st execute failed: ORA-01400: cannot insert NULL into ("ZP"."DGKTO_
BASIS"."FELD1") (DBD: oexec error) at load_dgkto_stamm.pl lin
e 121, <GEN0> line 1.

Genau die hätte ich gerne weg.

lg., nes

View full thread Perl/DBI - Fehler abfangen