2009-05-06 15 views
1

我的Perl腳本很慢,但工作。我正在考慮拋出它,並用適當的綁定等構建一個真正的DB2應用程序;然而,在此期間,我希望這是一個佔位符。爲什麼我無法斷開與DBD :: DB2的數據庫句柄?

我看了看this documentation,它提到:

$dbh->disconnect(); 

但是因爲它拋出這個錯誤,我不能使用它。

通過包「胸徑」 無法找到對象的方法 「斷開」(可能加載「胸徑」?)在 ./ProgramTree.pl線119

我知道我的臨時應用程序正在泄漏並且正在增長,因爲它正在遞歸地打開數據庫句柄。我錯過了一些基本的東西?

回答

6

這個錯誤聽起來像是一個很糟糕的印記,你只是運行dbh->disconnect();


看看當一個對象沒有一個方法會發生什麼:

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

相比,當你調用的裸詞「胸徑」這種方式來:

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

謝謝...我覺得自己像個笨蛋... – ojblass 2009-05-06 05:01:19

相關問題