Djunix
Mitglied
Hallo!
Ich bin vor kurzem mal angefangen mich mit Perl zu beschäftigen und da stehe ich momentan vor einem Problem. Wenn ich eine SQL-Abfrage in Perl ausführen will, dann bekomme ich da die Fehlermeldung:
DBI::st=HASH(0x833271c)->_prepare(...): attribute parameter '6864' is not a hash ref at /usr/lib/perl5/site_perl/5.8.3/i586-linux-thread-multi/DBD/Oracle.pm line 262.
6864 ist die Kunden-ID, also scheint er den Inhalt des Arrays wohl richtig auszulesen. Allerdings scheint er ein Problem damit zu haben das da innerhalb der prepare-Funktion nen Array auftaucht. Denn je nachdem ob ich das
Array in Anführungszeichen oder Hochkomma setze oder sonstwas mache, ändert sich die Fehlermeldung.
Hier der Code:
Hoffe ihr könnt mir weiterhelfen.
Mfg
Daniel
Ich bin vor kurzem mal angefangen mich mit Perl zu beschäftigen und da stehe ich momentan vor einem Problem. Wenn ich eine SQL-Abfrage in Perl ausführen will, dann bekomme ich da die Fehlermeldung:
DBI::st=HASH(0x833271c)->_prepare(...): attribute parameter '6864' is not a hash ref at /usr/lib/perl5/site_perl/5.8.3/i586-linux-thread-multi/DBD/Oracle.pm line 262.
6864 ist die Kunden-ID, also scheint er den Inhalt des Arrays wohl richtig auszulesen. Allerdings scheint er ein Problem damit zu haben das da innerhalb der prepare-Funktion nen Array auftaucht. Denn je nachdem ob ich das
Array in Anführungszeichen oder Hochkomma setze oder sonstwas mache, ändert sich die Fehlermeldung.
Hier der Code:
Code:
my $stmt=$dbh->prepare("select distinct customer_id from BL_INVOICES where state=0");
$stmt->execute();
#Schleife ueber alle Kunden mit dem Rechnungs-Status 0
while(my @row=$stmt->fetchrow_array)
{
$customer_id[$c]=$row[0];
$stmt1=$dbh->prepare(
"select BL_INVOICES.*,
BL_INVDTL.service_id,
BL_INVDTL.price,
BL_INVDTL.tax,
BL_INVDTL.amount,
BL_INVDTL.periodfrom,
BL_INVDTL.periodto
from
BL_INVOICES,
BL_INVDTL
where
state=0 and
BL_INVOICES.customer_id=".$customer_id[$c]." and
BL_INVOICES.invoice_id= BL_INVDTL.invoice_id";
);
$stmt1->execute();
#Hier weitere Verarbeitung
$c++;
}
Hoffe ihr könnt mir weiterhelfen.
Mfg
Daniel