Thread: problems with transactions

problems with transactions

From
"Campbell, Scott"
Date:
I'm having problems opening a transaction through perl DBI
When I try to execute "begin work" using the DBI prepare and execute
functions I get an error:

$sth = $dbh->prepare("begin work");
$sth->execute();

returns this error when I run the perl script from a prompt:

please use DBI functions for transaction handling at
/usr/lib/perl5/site_perl/5.
005/i386-linux/DBD/Pg.pm line 114, <STDIN> chunk 2.
Can't call method "execute" on an undefined value

after seeing this I assumed that you just can't use the begin statement
accross the DBI but there has to be a way of opening a transaction (it even
says so in the error I got) ... I'm just not sure how.

can someone please shed some light on this... I've looked through the
archives but didn't find anything constructive.

Thanks
Scott

Re: problems with transactions

From
Jules Bean
Date:
On Thu, Aug 31, 2000 at 09:43:52AM -0300, Campbell, Scott wrote:
>
> $sth = $dbh->prepare("begin work");
> $sth->execute();
>

[snip error]

>
> after seeing this I assumed that you just can't use the begin statement
> accross the DBI but there has to be a way of opening a transaction (it even
> says so in the error I got) ... I'm just not sure how.
>
> can someone please shed some light on this... I've looked through the
> archives but didn't find anything constructive.

man DBI

Look for the section on AutoCommit, and the section on Transactions
will also be useful. One sentence summary: Make sure autocommit is
off, transactions are begun automatically, and ended with commit or
rollback.

Jules