It looks like you're calling commit() on the $sth instead of the $dbh. Philip
Andrew Edson wrote: > I am working with a perl file intended to enter a postgresql database > (as user postgres), select a list of key values based on one of those > values and delete any records which match the returned results. The > purpose of the program is to delete inactive records from the > database that are over two years in age. > > (For the record, the system in question is running SuSE 9.3 os, > Apache2, Postgres 8.1.3, and appears to be running Perl 5.8.6) > > When I first ran the perl script, it did not appear to be working; > entering the database afterwards would show that the data was still > present. After finding and uncommenting a 'commit' statement at the > end, I am now ending up with the error message > > Can't locate object method "commit" via package "DBI::st" at > ./purge_acnt line 242 (#1) > (F) You called a method correctly, and it correctly indicated a > package functioning as a class, but that package doesn't define > that particular method, nor does any of its base classes. See > perlobj. Uncaught exception from user code: > Can't locate object method "commit" via package "DBI::st" at > ./purge_acnt line 242. at ./purge_acnt line 242 > Database handle destroyed without explicit disconnect at ./purge_acnt > line 242. > Database handle destroyed without explicit disconnect at ./purge_acnt > line 242. > > I am asuming that the last two lines are because the program > crashed, artificially severing the connections to the DB. (The last > couple of lines of the program are normal disconnect statements, but > occur after the 'commit' line that triggered the error.) It's the > rest of the error that I am confused about. If I am reading it > correctly, it seems to be saying that there is no 'commit' function > in the DBI. Do I need to update my DBI files somehow, or is there > another way to prevent this error from occuring? And if I have to > update, would someone please be kind enough to link me to a good set > of instructions on doing so? > > Thank you for your consideration. > > > --------------------------------- > Sucker-punch spam with award-winning protection. > Try the free Yahoo! Mail Beta.
