2009-05-06 5 views
1

Mon script Perl est lent mais fonctionne. J'envisage de le jeter et de construire une vraie application DB2 avec des binds appropriés et autres; Cependant, en attendant, je veux que cela fonctionne comme un espace réservé.Pourquoi ne puis-je pas déconnecter mes poignées de base de données avec DBD :: DB2?

J'ai regardé this documentation et il mentionne:

$dbh->disconnect(); 

Cependant, je ne peux pas l'utiliser parce qu'il jette cette erreur.

Impossible de localiser la méthode objet "déconnexion" par paquet "DHP" (peut-être charger "DHP"?) À ligne ./ProgramTree.pl 119.

Je sais que mon temporaire l'application fuit et se développe parce qu'elle ouvre récursivement les poignées de la base de données. Est-ce que je manque quelque chose de fondamental?

Répondre

6

Cette erreur sonne énormément comme le sigil est manquant et vous exécutez juste dbh->disconnect();.


Regardez ce qui se passe quand un objet ne dispose pas d'une méthode:

 
    [~] perl -e'my $dbh = bless {}, q/foo/; $dbh->disconnect();' 
    Can't locate object method "disconnect" via package "foo" at -e line 1. 

Par rapport à quand vous appelez cette méthode sur le bareword « DHP »:

 
    [~] perl -e'dbh->disconnect();' 
    Can't locate object method "disconnect" via package "dbh" (perhaps you forgot to load "dbh"?) at -e line 1. 
+0

Merci ... Je me sens comme un cancre ... – ojblass

+0

Ça nous arrive à tous! Surtout pour moi, en fait ...;) – Marcus

Questions connexes