On Tue, Dec 06, 2005 at 03:46:06PM -0000, Martin J. Evans wrote:
> I needed to find a thread I remembered from this mailing list and thought of
> the list of mailing list archives on the dbi.perl.org web page. I found what I
> was after in the groups.google.com archive but was surprised to see a number 
> of
> other posts I did not recollect. Examples are:
> 
> "DBD::Oracle for Oracle 9.2" thread started 1-dec-05
> http://groups.google.com/group/perl.dbi.users/browse_thread/thread/6ea69bfe603db
> 4f5/e70f0c2efc0819a4?hl=en
>  
> and
> 
> How to Handle Transparent Application Failover TAF with DBD-Oracle
> http://groups.google.com/group/perl.dbi.users/browse_thread/thread/e15d0e9ecc588
> 0ea/fc7c403d629391af?lnk=raot&hl=en#fc7c403d629391af
> 
> In particular I could not believe I would have missed someone saying:
> 
> "You can't do it. DBD::Oracle doesn't support TAF, direct loads or array
> interface. DBI is not database neutral. DBI is geared toward MySQL and
> PostgreSQL.
> 
> DBD::Oracle is not being fixed because Tim Bunce is pushin open source
> databases, and Oracle driver isn't getting fixed and/or enriched with the new
> features. If you want a decent database driver, try with Python. "
> 
> I cannot find these postings on the mail-archive.com or nntp.perl.org archives
> so where did they come from? Is this some sort of mailing list to news gateway
> issue I've missed?

Thanks for the heads up on this. I've posted this reply (via google groups):

---snip---

Bart the bear wrote:
> [EMAIL PROTECTED] wrote:
> > The Database Admins in the place where I work gave me the following the
> > tnsnames.ora entry and a couple others that look similar.
> >
> > stagging.rac =
> > (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST =
> > host.name.com)(PORT = 15)) (ADDRESS = (PROTOCOL = TCP)(HOST =
> > host.name.too.com)(PORT = 15)) (LOAD_BALANCE = yes) (FAILOVER = true))
> > (CONNECT_DATA = (SERVICE_NAME = stagging) ) )
> > I went poking around in the oracle.com site and found that this appears
> > to be Transparent Application Failover" (TAF).
> > http://www.oracle.com/ecostructure/blueprint_res/implement_database_configuration_availability.htm
> >
> >
> > Since I have been asked to setup a tool to do some work on this
> > database I went to try and find out how the DBD-Oracle handles this. So
> > far my google searches have come up with very little. Is there some
> > info or examples on how this is handled and/or how to format the
> > connect string?
> >
> > I am particularly interested in the connect string format that does not
> > require the use of the tnsnames.ora file but allows the host, port and
> > sid to be specified in the connect string.
> >
> > Example: DBI:Oracle:host=$host;sid=$sid;port=$port
> > If this is not currently supported has anyone tried to handle this
> > programmatically and know of any hidden fun in the way Oracle kicks the
> > failure out during failover?

Did you try it? That kind of connection string has been supported since 
DBD::Oracle 1.03 (12th July 1999) and is documented 
http://search.cpan.org/~timb/DBD-Oracle/Oracle.pm#Connecting_without_environment_variables_or_tnsname.ora_file

> > I did mistakenly post this question in
> > http://www.cpanforum.com/posts/1197

Very few people read cpanforum for DBI/DBD::Oracle related posts. Also, 
messages posted on google groups rarely get through to the dbi-users@perl.org 
mailing list.

It's only because someone posted a note about this thread on dbi-users@perl.org 
(where several thousand people are subscribed, including myself) that I'm 
replying here.

> You can't do it. DBD::Oracle doesn't support TAF, direct loads or array 
> interface.

DBD::Oracle supports using Oracle connection descriptions directly:

$dbh = DBI->connect('dbi:Oracle:', q{scott/tiger@(DESCRIPTION=
  (ADDRESS=(PROTOCOL=TCP)(HOST= foobar)(PORT=1521))
  (CONNECT_DATA=(SID=ORCL)))}, "");

I don't know if any deeper support is required for TAF, but if it is I'd be 
very happy to add it if someone sends me a patch.

> DBI is not database neutral. DBI is geared toward MySQL and PostgreSQL.

I don't know where you got that idea from, but it's wrong. DBD::Oracle was 
actually the very first DBI driver.

> DBD::Oracle is not being fixed because Tim Bunce is pushin open source 
> databases,

Also baseless and just plain wrong.

> and Oracle driver isn't getting fixed and/or enriched with the new features.

Also wrong. Real life has certainly delayed progress (most recently with the 
birth of my second daughter a few weeks ago) but the Oracle driver IS getting 
fixed and/or enriched with the new features. In fact 1.17 is about ready - a 
release candidate should be available within a week or two.

> If you want a decent database driver, try with Python.

Ah. Perhaps you're right, from your perspective, but I'd be grateful if you 
didn't promote other software by spreading misinformation about DBD::Oracle.

---snip---

Tim.

Reply via email to