1

私のperlスクリプトは遅いですが、動作します。私はそれを捨てて、適切なバインドなどを備えた真のDB2アプリケーションを構築することを検討しています。ただし、当面の間は、これをプレースホルダーとして機能させたいと思います。

私はこのドキュメントを見ました、そしてそれは言及します:

$dbh->disconnect();

ただし、このエラーが発生するため使用できません。

./ProgramTree.plの119行目にあるパッケージ「dbh」(おそらく「dbh」をロードしますか?)を介してオブジェクトメソッド「disconnect」を見つけることができません。

データベースハンドルを再帰的に開いているため、一時的なアプリケーションがリークして成長していることはわかっています。私は何か基本的なものが欠けていますか?

4

1 に答える 1

6

そのエラーは、印章が欠落していて、ちょうど実行しているように非常によく聞こえますdbh->disconnect();


オブジェクトにメソッドがない場合に何が起こるかを見てください。

    [〜] perl -e'my $ dbh = bless {}、q / foo /; $ dbh-> disconnect(); '
    -e行1のパッケージ「foo」を介してオブジェクトメソッド「disconnect」が見つかりません。

ベアワード「dbh」でそのメソッドを呼び出している場合と比較して、次のようになります。

    [〜] perl -e'dbh-> disconnect();'
    -e行1で、パッケージ「dbh」を介してオブジェクトメソッド「disconnect」を見つけることができません(おそらく「dbh」をロードするのを忘れましたか?)。
于 2009-05-06T03:37:02.123 に答える