Pourquoi ne puis-je pas déconnecter mes descripteurs de base de données avec DBD :: DB2?

StackOverflow https://stackoverflow.com/questions/827917

  •  06-07-2019
  •  | 
  •  

Question

Mon script Perl est lent mais fonctionne. J'envisage de le jeter et de créer une véritable application DB2 avec des liens appropriés, etc. cependant, dans l'intervalle, je souhaite que cela fonctionne en tant que remplaçant.

J'ai consulté cette documentation qui y est mentionnée. :

$dbh->disconnect();

Cependant, je ne peux pas l'utiliser car cette erreur génère cette erreur.

  

Impossible de localiser la méthode de l'objet   " déconnecter " via le package " dbh "   (peut-être charger "dbh") à   ./ProgramTree.pl ligne 119.

Je sais que mon application temporaire présente des fuites et qu'elle prend de l'ampleur car elle ouvre de manière récursive des handles de bases de données. Est-ce que je manque quelque chose de fondamental?

Était-ce utile?

La solution

Cette erreur sonne terriblement comme si le sigil manquait et que vous exécutez simplement dbh- > disconnect (); .

Regardez ce qui se passe lorsqu'un objet n'a pas de méthode:

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

Comparé à lorsque vous appelez cette méthode en utilisant le mot clé "dbh":

    [~] perl -e'dbh->disconnect();'
    Can't locate object method "disconnect" via package "dbh" (perhaps you forgot to load "dbh"?) at -e line 1.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top