Unfortunately a prepared statement for the savepoint won't work: DBD::Oracle::st execute failed: ORA-03001: unimplemented feature (DBD ERROR: OCIStmtExecute) [for Statement "SAVEPOINT"] at ./savepoint2.pl line 32. DBIx::Connector seems to use direct OCI calls to perform the savepoint (I haven't checked the source). DBD::Oracle just uses OCIStmtExecute for everything run through $dbh->do (the first thing I tried) and $dbh->prepare. The OCI call to create a savepoint currently isn't implemented by DBD::Oracle. -----Original Message----- From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Bobak, Mark Sent: Thursday, January 26, 2012 3:50 PM To: Radoulov, Dimitre Cc: 'oracle-l@xxxxxxxxxxxxx' Subject: RE: How to do a savepoint in DBI/DBD::Oracle? Hi Dimitre, Shortly after I asked my question on the list, I discovered DBIx::Connector. Our Perl programmers didn't like the idea, due to the extra layer it adds to transaction management. There's also been some discussion of simply putting "savepoint" in a prepared statement....? Nothing tested yet, we're still investigating. If anything I say here makes you think I'm lacking a clue, that would be because, as far as Perl goes, I am pretty clueless.... :-) Thanks, -Mark -----Original Message----- From: Radoulov, Dimitre [mailto:cichomitiko@xxxxxxxxx] Sent: Thursday, January 26, 2012 3:43 PM To: Bobak, Mark Cc: 'oracle-l@xxxxxxxxxxxxx' Subject: Re: How to do a savepoint in DBI/DBD::Oracle? On 26/01/2012 19:27, Bobak, Mark wrote: > Hi all, > Any Perl hackers/mongers out there? > > Is there a way to do a savepoint natively in DBI/DBD::Oracle? > Hi Mark, I believe you'll need to install an additional Perl modules for that (I hope that's an option in your case): DBIx::Connector::Driver::Oracle Name DBIx::Connector::Driver::Oracle - Oracle-specific connection interface Description This subclass of DBIx::Connector::Driver provides Oracle-specific implementations of the following methods: ping savepoint release rollback_to Regards Dimitre -- //www.freelists.org/webpage/oracle-l -- //www.freelists.org/webpage/oracle-l