|
|
 |

|

 |

| Community » Perl: Allgemeines Forum |
|
SQL und CSV
|
Seitenanfang |
Hallo zusammen, suche ein Script, mit dem ich eine csv Datei in eine SQL Datenbank hochladen kann. Dabei sollte beachtet werden, dass ich das DATA INFILE Kommando nicht verwenden kann. Man müsste also irgendwie INSERT verwenden.Habt ihr da ne Idee? Danke! Stefan
Datum: 11.05.2005-01:52

|
re: SQL und CSV
|
Seitenanfang |
| Dann solltest Du Dich unbedingt mit dem Modul DBI auseinandersetzen. Ein paar Informationen zu Perl mit Datenbanken: http://perl.renee-baecker.de/perl_datenbanken.pdf http://www.andreas-thiessen.de/HandoutDatenbankanbindungenInPerl.pdf http://search.cpan.org --> dort nach DBI suchen...
Datum: 11.05.2005-09:11

|
re: SQL und CSV
|
Seitenanfang |
Hallo, danke für die Antwort. Nun ich habe mich mit DBI auseinandergesetzt. Der erzeugte Code müsste eigentlich auch funktionieren. Tut er auch, wenn ich ihn in das SQL Feld im myphpAdmin eingeb. Leider kann ich über das Perlscript aber keine Einträge machen.Was ist hier falsch: @sqlspalte=split(/;/,$zeilen[2]); print "$zeilen[2]"; print "<BR><bR>"; for ($i=3;$i<=$#zeilen-10;$i++) { @spalten=split(/;/,$zeilen[$i]); for ($ii=0;$ii<=$#spalten-1;$ii++) { push (@ausgabe, "$sqlspalte[$ii]\=\'$spalten[$ii]\'\,"); } push (@ausgabe, "$sqlspalte[$#spalten]\=\'$spalten[$#spalten]\'\;\n"); use DBI; $verbinden1="DBI:mysql:usr_web118_2"; $verbinden2="web118"; $verbinden3="bu65ch"; my $dbh = DBI->connect( "$verbinden1","$verbinden2","$verbinden3") || die "Database connection not made: $DBI::errstr"; my $sql = qq{INSERT INTO email SET @ausgabe}; my $sth = $dbh->prepare( $sql ); $sth->execute(); $sth->finish(); $dbh->disconnect(); print $sql; @ausgabe=""; }
Datum: 11.05.2005-10:28

|
re: SQL und CSV
|
Seitenanfang |
| Du solltest noch den host angeben bei $verbinden1... Noch ein paar Tipps: *) Sag uns die Fehlermeldung *) Benutze strict ( http://wiki.perl-community.de/bin/view/Wissensbasis/UseStrict ) *) Betreibe mehr Fehlerbehandlung
Datum: 11.05.2005-14:22

|
|

|

|

|
 |

|

|
|