I went through this about a year or so ago with another client his was 8 and 11 
so a real big differace.
 
It can be done but you have to reaname or at least alias some of the oracle 
files as well or else they will step on each other.  That is if you are usng 
linux. It is a little easer with windows (I am not joking) as the oracle files 
are in nice compact DLLs.
 
As well you have to reaname a good number of other files here and there in both 
XS and 'C' and try to get it to complie.
 
And even before you do that I did this a while ago and still have the code 
online here 'http://svn.perl.org/modules/dbd-oracle/branches/DBD-Oracle8' 
Renamed 8 but you can still complile it against 9 client.
 
 
But before you go though that I would just get the instanct client 10 which can 
connect to both 9 and and 11 and that should work for you.
 
Cheers
John
 

> Date: Fri, 2 Dec 2011 13:27:09 -0500
> From: smi...@latfor.state.ny.us
> To: dbi-users@perl.org
> Subject: Maintaining simultaneous support for two Oracle versions in DBI
> 
> 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
                                          

Reply via email to