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

ojb*_*ass 1 perl dbi disconnect

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

我查看了这个文档并提到:

$dbh->disconnect();
Run Code Online (Sandbox Code Playgroud)

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

无法在./ProgramTree.pl第119行通过包"dbh"(可能加载"dbh"?)找到对象方法"disconnect".

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

Ano*_*ous 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.