2009-05-06 5 views
1

내 perl 스크립트가 느리지 만 작동합니다. 나는 그것을 던져 버리고 적절한 바인드 등으로 진정한 DB2 애플리케이션을 구축하는 것을 고려하고있다. 그러나 그 동안 나는 이것을 장소 소유자로 일하기를 원합니다. DBD :: DB2로 데이터베이스 핸들을 끊을 수없는 이유는 무엇입니까?

나는 this documentation 쳐다 보면서 그것은 언급 :이 오류가 발생하기 때문에 나는 그것을 사용할 수 없습니다 그러나

$dbh->disconnect(); 

.

./ProgramTree.pl 줄에서 (아마도? "DBH을"로드) 패키지 "DBH" 를 통해 객체 메소드 "분리"를 찾을 수 없습니다

119

나는 나의 일시적으로 알고 응용 프로그램이 재귀 적으로 데이터베이스 핸들을 열기 때문에 응용 프로그램이 새어 나가고 있습니다. 나는 근본적으로 뭔가 빠져 있니?

답변

6

그 오류는 sigil이 누락 된 것처럼 들리며 단지 dbh->disconnect();을 실행 중입니다. 객체가 방법을 가지고 있지 않을 때 어떤 일이 일어나는지


봐 :

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

: 당신은 bareword는 "DBH"에 그 메소드를 호출 할 때와 비교

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

고마워요 ... 나는 일사처럼 느껴진다 ... – ojblass

+0

우리 모두에게 일어난다! 특히 나에게, 실제로 ...;) – Marcus