何らかの理由で、DBI ハンドルに問題があります。基本的に何が起こったのかというと、perl モジュールで特別な接続関数を作成し、次のように切り替えることでした。
do 'foo.pl'
に
use Foo;
そして、私はします
$dbh = Foo->connect;
そして今、何らかの理由でエラーが発生し続けます:
../Foo.pm 行 171 で、パッケージ「Foo」を介してオブジェクト メソッド「rollback」が見つかりません。
したがって、奇妙なことは、$dbh は絶対に Foo ではなく、単に foo で定義されているということです。とにかく、今までそれで困ったことはありません。どうしたの?
編集:@Axeman:connect
オリジナルには存在しませんでした。次のように使用する文字列を作成する前に、次のようにします。
do 'foo.pl';
$dbh = DBI->connect($DBConnectString);
このようconnect
なものもあります
sub connect {
my $dbh = DBI->connect('blah');
return $dbh;
}