speedy: Fehlermeldung von DBI disconnect

Hallo,

ich bekomme folgende Fehlermeldung:

DBI::db=HASH(0x8240964)->disconnect invalidates 1 active statement handle (either destroy statement handles or call finish on them before disconnecting) at ...

In der betreffende Code ist folgender:

sub db_disconnect
{
 my($dbh) = shift;
 my($rc);

durch diese if-Abfrage wird der Fehler ausgelöst - zumindestens ist

das die genannte Zeile

if($dbh && $dbh->ping)
 {
  $rc = $dbh->disconnect
  or print "Can't disconnect from database.";
 }

return $dbh;
}

Was ist daran nicht korrekt ? ... bevor ich diese Subroutine aufrufe, hatte ich vorher auch immer ein connect gemacht. $dbh müßte also ein aktives Handle enthalten.

MFG,
speedy

  1. Hallo,

    ich bekomme folgende Fehlermeldung:

    DBI::db=HASH(0x8240964)->disconnect invalidates 1 active statement handle (either destroy statement handles or call finish on them before disconnecting) at ...

    Was ist daran nicht korrekt ? ... bevor ich diese Subroutine aufrufe, hatte ich vorher auch immer ein connect gemacht. $dbh müßte also ein aktives Handle enthalten.

    Steht doch da, du hast noch einen offenen Handle, den du mit finish beendet musst.

    Struppi.

    1. Hallo,

      ja, klar - lesen kann ich auch - aber ob richtig verstehen :) ... unter dem $dbh gibt es laut meiner Doku kein $dbh->finish() ... oder ist das $sth->finish gemeint ?

      MFG,
      speedy

      1. ja, klar - lesen kann ich auch - aber ob richtig verstehen :) ... unter dem $dbh gibt es laut meiner Doku kein $dbh->finish() ... oder ist das $sth->finish gemeint ?

        genau. irgendwo hast du einen noch gültigen handle.

        Struppi.