DBD :: DB2でデータベースハンドルを切断できないのはなぜですか?
-
06-07-2019 - |
質問
私のperlスクリプトは遅いですが動作します。私はそれを捨てて、適切なバインドなどを備えた真のDB2アプリケーションを構築することを検討しています。ただし、当面はこれをプレースホルダーとして機能させたいと考えています。
このドキュメントを参照し、言及しています:
$dbh->disconnect();
ただし、このエラーがスローされるため使用できません。
オブジェクトメソッドが見つかりません 「切断」パッケージ" dbh"経由 (おそらく" dbh&quot ;?をロードしますか?) ./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.
ベアワード" 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