October 29, 2003

Class::DBI->set_db で AutoCommit => 1

[ Perl ]
なんか、0.92 から 0.93, 0.94とかにバージョンあげたらupdateやinsertが通らなくなってしまった。エラーにもならないし。。 あとで、Changesをみてもよくわからんので、とりあえずバージョンダウン。開発環境と同じ、0.92にしてみました。 後で、ちゃんと調べてみようと思う。

僕も今日この問題に直面しまして、しばらく悩んだあげく、とりあえず Class::DBI->set_db で AutoCommit => 1 を明示的に指定してやったらちゃんと保存されました。

と perldoc Class::DBI すると

(Except for Oracle and Pg, where AutoCommit is set to 0,placing the database in transactional mode).

と書かれていて、Oracle と PostgreSQL ではトランザクションモードがデフォルトらしいことが発覚。MySQL から PostgreSQL にデータソースを変更した直後の出来事だったので、どっちが原因だったかよくわからず。後者濃厚かなあ。

Posted by naoya at October 29, 2003 03:25 AM | トラックバック (0)  b_entry.gif
トラックバック [0件]
TrackBack URL: http://mt.bloghackers.net/mt/suck-tbspams.cgi/579
コメント [0件]