• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Problem mit DBI::mysql Adapter in Perl

Hallo,

ich versuche aus einem Perl-Skript eine Datenbankabfrage einzulesen. Die Abfrage funktioniert prinzipiell, wenn man sie aus dem MySQL-Query Browser ausführt, bricht aber immer kurz vor Ende der Abfrage ab, wenn ich sie aus dem PerlSkript starte:

Code:
$database = "dbname";
$host = "localhost";
$user = "username";
$pw = "pw";
$searchstring = "ein in Spalte 1 vorkommender Wert"

$dsn = "dbi:mysql:$database:localhost:3306";
$connect = DBI->connect($dsn, $user, $pw);

$query = "select * from dbname where value1 = '$searchstring'";
$query_handle = $connect->prepare($query);
$query_handle->execute();
$query_handle->bind_columns(\$value1, \$value2);
while($query_handle->fetch()) {
  
	print OUTPUT "$value1\t","$value2\n";

}

Insgesamt haben die Tabellen, die abgefragt werden, ca. 500000 Einträge. Je nach Tabelle hängt sich der Prozess etwa 100 Einträge vor dem Ende auf.

Was läuft hier schief?

Das Skript schafft es über "den wunden Punkt" hinaus, wenn ich die "where"-Klausel weglasse, also der gesamte Inhalt angezeigt werden soll. Allerdings hängt sich das Skript dann wiederrum kurz vor dem letzten Wert auf.

Irgendwie würde ich ja die Übergabe der Abfrage anders regeln, allerdings komme ich mit fetchrow_array etc nicht zurecht.
gma
 
Hallo!

Hängt sich auf ... heisst, du erhältst eine aussagekräftige Fehlermeldung im Apache Log? Ich dachte Perl ist sehr mitteilungsfreudig?

Ansonsten hätte ich hier noch Beispielcode gefunden:
http://forge.mysql.com/tools/tool.php?id=35

Vielleicht möchtest du es damit probieren?

Gruß,

R
 
Oben