I might be overlooking something in your requirements, but this is a
response that I had previously sent to someone on the list regarding
migration concerns:
I'm going through a migration now and had to recompile DBD-Oracle
against the new ORACLE_HOME.
I wanted to leave the old DBD-Oracle install in tact during my testing
so I did not do a 'make install' after
compilation. I took my test scripts, etc and used an appropriate
PERL5LIB setting;
ie.
PERL5LIB=/u99/testing/DBD-Oracle-1.23/blib/lib:/u99/testing/DBD-Oracle-1.23/blib/arch;
so it could would work while the old processes are able to use the
current DBD-Oracle install.
On 12/2/2011 1:27 PM, Scott Smith wrote:
My workplace is transitioning from Oracle version 9 to version 11. I
would like to build the DBD driver to support connecting to the Oracle
11 database. However, until all the data are migrated from the old
database to the new one, I would need to maintain connectivity to the
old Oracle 9 database. Since the driver and shared objects built for
the new database would be incompatible, I would need to build separate
objects for the Oracle 11 connection.
Some of the items I can identify are:
The module should be Oracle11.pm rather than Oracle.pm (called as
DBI->connect("dbi:Oracle11:", ...) rather than
DBI->connect("dbi:Oracle:", ...)).
The shared object and bootstrap files as Oracle11.so and Oracle11.bs
respectively. (Should these go in the same directory or should they be
in the directory Oracle11 and does the package name in Oracle11.pm
have to be changed to DBD::Oracle11 in order to find things there?)
I have some idea of what I need to change in Makefile.PL in order to
achieve at least part of this. What I have so far is changing
references to Oracle.pm to Oracle11.pm and $opts{NAME} from
DBD::Oracle to Oracle 11. Am I right about the second? Are there
others I should have included?
Thanks for any help,
Scott Smith