Thread Log files mit DBI auf Microsoft SQL: Datenuebertragung von Linux auf Windows (14 answers)
Opened by Gast at 2004-06-02 07:16

steffenw
 2004-06-05 00:01
#32207 #32207
User since
2003-08-15
692 Artikel
BenutzerIn
[Homepage] [default_avatar]
[quote=Dubu,02.06.2004, 21:45]siehe oben[/quote]

Und noch etwas besser ist es, das Statementhandle zu speichern, weil doch die Daten in der Schleife von der Menge her immer die gleichen sind. Dadurch wird die Schleife schlanker und einunddasselbe Statement muß nicht bei jedem Durchlauf erst wieder auf Gültigkeit geprüft werden.

Ansosten macht die Konstruktion mit "prepare/execute" keinen Sinn und "do" wäre zutreffender:
Code: (dl )
$dbh->do($statement, undef, @lines) or ....

Konstruktion mit prepare/execute:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
...
my $dbh = DBI->connect("dbi:mSQL:T1:fabian:3306", "password", "fabian")
 or die "Kann Datenbank nicht oeffnen: " . DBI->errstr();
my $statement = 'insert into fabian (month1, day1, time1, ip, port, month2, day2, time2, message) values (?,?,?,?,?,?,?,?,?)';
my $sth=$dbh->prepare($statement) or die "Prepare $statement fehlgeschlagen: ".$dbh->errstr();

while (defined(my $getline=<FH>)) {
   my @lines = split(/ /, $getline, 8);
   $sth->execute(@lines)
     or warn "Fehler beim Schreiben in Datenbank: " . $sth->errstr();
}
$dbh->disconnect();
...
\n\n

<!--EDIT|steffenw|1086380516-->
$SIG{USER} = sub {love 'Perl' or die};

View full thread Log files mit DBI auf Microsoft SQL: Datenuebertragung von Linux auf Windows