DBD :: DB2로 데이터베이스 핸들을 분리 할 수없는 이유는 무엇입니까?
-
06-07-2019 - |
문제
내 Perl 스크립트는 느리지 만 작동합니다. 나는 그것을 버리고 적절한 바인딩 등으로 진정한 DB2 응용 프로그램을 구축하는 것을 고려하고 있습니다. 그러나 그 동안 나는 이것이 장소 보유자로 일하기를 원합니다.
나는 보았다 이 문서 그리고 그것은 다음과 같이 언급합니다.
$dbh->disconnect();
그러나이 오류가 발생하기 때문에 사용할 수 없습니다.
패키지 "dbh"를 통해 객체 메소드를 "연결 해제"(아마도 "dbh"?)에서 ./programtree.pl 줄 119로 찾을 수 없습니다.
데이터베이스 핸들을 재귀 적으로 열고 있기 때문에 임시 응용 프로그램이 유출되고 성장하고 있다는 것을 알고 있습니다. 내가 근본적인 것을 놓치고 있습니까?
해결책
그 오류는시길이 누락 된 것처럼 끔찍하게 들립니다. dbh->disconnect();
.
객체에 메소드가 없을 때 어떤 일이 발생하는지 살펴보십시오.
[~] perl -e'my $dbh = bless {}, q/foo/; $dbh->disconnect();' Can't locate object method "disconnect" via package "foo" at -e line 1.
Bareword "DBH"에서 해당 메소드를 호출 할 때와 비교할 때 :
[~] perl -e'dbh->disconnect();' Can't locate object method "disconnect" via package "dbh" (perhaps you forgot to load "dbh"?) at -e line 1.
제휴하지 않습니다 StackOverflow