RE: How to do a savepoint in DBI/DBD::Oracle?

From: Bobak, Mark <Mark.Bobak_at_proquest.com>
Date: Thu, 26 Jan 2012 16:02:42 -0500
Message-ID: <6AFC12B9BFCDEA45B7274C534738067F876D187B_at_AAPQMAILBX02V.proque.st>



Thanks for the info....

-----Original Message-----
From: Brian Pardy [mailto:brianpa_at_burton.com] Sent: Thursday, January 26, 2012 4:01 PM To: Bobak, Mark
Cc: 'oracle-l_at_freelists.org'
Subject: RE: How to do a savepoint in DBI/DBD::Oracle?

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_at_freelists.org [mailto:oracle-l-bounce_at_freelists.org] On Behalf Of Bobak, Mark Sent: Thursday, January 26, 2012 3:50 PM To: Radoulov, Dimitre
Cc: 'oracle-l_at_freelists.org'
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_at_gmail.com] Sent: Thursday, January 26, 2012 3:43 PM To: Bobak, Mark
Cc: 'oracle-l_at_freelists.org'
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

--
http://www.freelists.org/webpage/oracle-l




--
http://www.freelists.org/webpage/oracle-l
Received on Thu Jan 26 2012 - 15:02:42 CST

Original text of this message