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