为什么我不能用DBD :: DB2断开我的数据库句柄?

时间:2009-05-06 03:31:03

标签: perl dbi disconnect

我的perl脚本很慢但有效。我正在考虑抛弃它并构建一个具有适当绑定等的真正的DB2应用程序;然而,与此同时,我希望这可以作为占位符。

我看了this documentation并提到:

$dbh->disconnect();

但是我无法使用它,因为它会抛出此错误。

  

找不到对象方法   通过包“dbh”“断开连接”   (也许加载“dbh”?)   ./ProgramTree.pl第119行。

我知道我的临时应用程序正在泄漏并且正在增长,因为它以递归方式打开数据库句柄。我错过了一些基本的东西吗?

1 个答案:

答案 0 :(得分:6)

这个错误听起来非常像sigil缺失而且你只是dbh->disconnect();


看看当一个对象没有方法时会发生什么:

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

与在“dbh”上使用该方法调用时相比:

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