DBD::CSV maximale Anzahl von Zeilen ?

DBD::CSV maximale Anzahl von Zeilen ?

am 24.06.2006 12:38:41 von Frankenstein

Hallo !

Gibt es eine maximale Anzahl von Zeilen die geparst werden ?

Ich habe folgendes Problem:
In einer CSV Datei mit über 7000 Zeilen werden nur die ersten 3583
Zeilen verarbeitet. Als Ausgabe kommen die ersten 3582 Zeilen, weil
erster übersprungen wird.

#!/usr/bin/perl -w

require DBI;

my $zeile;
my $dbh_csv = DBI->connect("DBI:CSV:");
$dbh_csv->{'RaiseError'}=0;

$dbh_csv->{'csv_tables'}->{'foo'} = {
'eol' => "\n",
'sep_char' => "\t",
'quote_char' => undef,
'escape_char' => undef,
'file' => 'foo.txt',
'col_names' =>["spalte1","spalte2"]};
$dbh_csv->{'csv_tables'}->{'foo'}->{skip_rows}=1;
$sth_csv = $dbh_csv->prepare("SELECT spalte1 FROM foo WHERE 1");

#execute the query
$sth_csv->execute( );
## Retrieve the results of a row of data and print
print "\t\tQuery
results:\n================================================\n ";
my $count=1;

while (($zeile) = $sth_csv->fetchrow_array( ))
{
print "$count.\t$zeile\n";$count++;
}

die "Vozeitieges Ende: $dbh_csv->errstr( )\n" if $dbh_csv->err( );

#warn "Problem in retrieving results", $sth_csv->errstr( ), "\n"
# if $sth_csv->err( );

$sth_csv->finish();
$dbh_csv->disconnect;
exit;

Re: DBD::CSV maximale Anzahl von Zeilen ?

am 24.06.2006 14:39:35 von Joerg Plate

> Gibt es eine maximale Anzahl von Zeilen die geparst werden ?
Ja. Haengt vom Hauptspeicher und aehnlichem ab...

> In einer CSV Datei mit über 7000 Zeilen werden nur die ersten 3583 Zeilen verarbeitet.
Ein Test mit 100000 Zeilen war hier erfolgreich. An DBD::CSV liegt es vermutlich nicht.

Re: DBD::CSV maximale Anzahl von Zeilen ?

am 24.06.2006 19:44:49 von Frankenstein

Joerg Plate schrieb:
>> Gibt es eine maximale Anzahl von Zeilen die geparst werden ?
> Ja. Haengt vom Hauptspeicher und aehnlichem ab...
>
Wo könnte man die Richtwerte nachlesen ? Ich habe nicht gefunden.
Und wieso sollten 1024 MB RAM und 1GB Swap nicht genügend sein ?
Von was könnte es noch abhängen ?

>> In einer CSV Datei mit über 7000 Zeilen werden nur die ersten 3583 Zeilen verarbeitet.
> Ein Test mit 100000 Zeilen war hier erfolgreich. An DBD::CSV liegt es vermutlich nicht.
Das ich schon was positives, dann hängt es auch nicht am Code.

Re: DBD::CSV maximale Anzahl von Zeilen ?

am 25.06.2006 07:41:13 von Daniel Fischer

Frankenstein!

>>> In einer CSV Datei mit über 7000 Zeilen werden nur die ersten 3583
>>> Zeilen verarbeitet.
>> Ein Test mit 100000 Zeilen war hier erfolgreich. An DBD::CSV liegt es
>> vermutlich nicht.
> Das ich schon was positives, dann hängt es auch nicht am Code.

Was heisst hier positiv? Du musst jetzt erstmal Deine CSV-Datei
ueberpruefen. ;-)


Gruss
Daniel

Re: DBD::CSV maximale Anzahl von Zeilen ?

am 25.06.2006 12:07:54 von Frankenstein

Daniel Fischer schrieb:
> Frankenstein!
>
>>>> In einer CSV Datei mit über 7000 Zeilen werden nur die ersten 3583
>>>> Zeilen verarbeitet.
>>> Ein Test mit 100000 Zeilen war hier erfolgreich. An DBD::CSV liegt es
>>> vermutlich nicht.
>> Das ich schon was positives, dann hängt es auch nicht am Code.
>
> Was heisst hier positiv? Du musst jetzt erstmal Deine CSV-Datei
> ueberpruefen. ;-)
Dass es nicht am Perl-Code legt.

Es lag tatsächlich an der Datei. In der Zeile 3584 stand fast am Ende
der Zeile Müll.