perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 19
Click for quality!




11.02.2012 / 07:09

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragSQL 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

Beitragre: 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

Beitragre: 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

Beitragre: 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

-






-
-