Going with DBI::Proxyserver. Seems to work well. All Oracle 10 connections are handled by script while all Oracle 8 are handle by Proxyserver ( built with Oracle 8 libs ). :-)
On Mon, 2009-11-02 at 15:36 +1100, Matthew Watson wrote: > Might not be an option... > > But any reason why you couldn't just setup a database link between the > oracle 10 and oracle 8 servers? Have all clients connect to oracle 10, which > can pass through whatever you need to oracle 8 using the dblink. > > > Regards, > Matthew Watson > Production Support > Netspace Online Systems > E: matthew.wat...@staff.netspace.net.au > W: (03) 98110010 > > > > > From: jeff <j...@roqc.no> > > Date: Fri, 30 Oct 2009 11:59:24 -0400 > > To: Jared Still <jkst...@gmail.com> > > Cc: <dbi-users@perl.org> > > Subject: Re: Multiple Oracle clients in same code - no usernames needed > > > > PS: Forgot to mention, these apps need to connect to an 8 and a 10 > > within the same script simultaneously. :-) > > > > > > On Fri, 2009-10-30 at 08:27 -0700, Jared Still wrote: > >> On Wed, Oct 28, 2009 at 12:38 PM, jeff <j...@roqc.no> wrote: > >> > >> I need to talk to both an oracle 8 and oracle 10 server in the > >> same > >> script using their respective "external connections" > >> capabilities (i.e., > >> no user name or password -- system authentication on 8 & > >> wallet on > >> 10 ). > >> > >> > >> I see lots of help offered on solving this problem. > >> > >> What I am curious about is why is it a problem? > >> > >> Why can you not use a username and password? > >> > >> Some may say the answers to that question are obvious, > >> but that may not be the case. > >> > >> > >> Jared Still > >> Certifiable Oracle DBA and Part Time Perl Evangelist > >> Oracle Blog: http://jkstill.blogspot.com > >> Home Page: http://jaredstill.com > >> > >> > >> Hacked up a version of DBD to get everything renamed from > >> 'Oracle' to > >> 'Oracle8' and built against Oracle 8 libs. The other is built > >> against > >> Oracle 10 libs. So I've 2 different builds in the same perl > >> build: > >> > >> ./lib/site_perl/5.8.9/i686-linux/DBD/Oracle.pm > >> ./lib/site_perl/5.8.9/i686-linux/DBD/Oracle8.pm > >> ./lib/site_perl/5.8.9/i686-linux/auto/DBD/Oracle/Oracle.h > >> ./lib/site_perl/5.8.9/i686-linux/auto/DBD/Oracle/Oracle.so > >> ./lib/site_perl/5.8.9/i686-linux/auto/DBD/Oracle/Oracle.bs > >> ./lib/site_perl/5.8.9/i686-linux/auto/DBD/Oracle8/Oracle8.so > >> ./lib/site_perl/5.8.9/i686-linux/auto/DBD/Oracle8/Oracle8.bs > >> ./lib/site_perl/5.8.9/i686-linux/auto/DBD/Oracle8/Oracle8.h > >> > >> ( Oracle.pm is oracle 10 & Oracle8.pm is oracle 8 ) > >> > >> I'm reading from a single tns_names.ora. > >> ( SERV2 is Oracle 10 & SERV1 is Oracle 8 ) > >> ORACLE_HOME is the same each time. > >> LD_LIBRARY_PATH includes 2 entries - 1 for Oracle 10 lib > >> directory > >> and 1 for Oracle 8. > >> So the environment is the same every time. > >> > >> > >> I can: > >> -------------------------------------------- > >> use DBD::Oracle8; > >> my $db3=DBI->connect("dbi:Oracle8:SERV1",'',''); > >> -------------------------------------------- > >> > >> Or I can: > >> -------------------------------------------- > >> use DBD::Oracle; > >> my $db3=DBI->connect("dbi:Oracle:SERV2",'',''); > >> -------------------------------------------- > >> > >> but: > >> -------------------------------------------- > >> use DBD::Oracle8; > >> use DBD::Oracle; > >> > >> my $db3=DBI->connect("dbi:Oracle8:SERV1",'',''); > >> my $db3=DBI->connect("dbi:Oracle:SERV2",'',''); > >> -------------------------------------------- > >> Will make both connections successfully, but exits > >> with a segmentation fault > >> > >> Or if I reverse the connections: > >> -------------------------------------------- > >> use DBD::Oracle8; > >> use DBD::Oracle; > >> > >> my $db3=DBI->connect("dbi:Oracle:SERV2",'',''); > >> my $db3=DBI->connect("dbi:Oracle8:SERV1",'',''); > >> -------------------------------------------- > >> first connection succeeds and second fails. > >> > >> > >> Also, these obviously fail because of wrong Oracle version: > >> -------------------------------------------- > >> use DBD::Oracle; > >> my $db3=DBI->connect("dbi:Oracle:SERV1",'',''); > >> -------------------------------------------- > >> -------------------------------------------- > >> use DBD::Oracle8; > >> my $db3=DBI->connect("dbi:Oracle8:SERV2",'',''); > >> -------------------------------------------- > >> > >> Any ideas as to why? Thanks. > >> > >> Jeff > >> > >> > >> > >> > >> > >> > >> > >> > > > > > > ______________________________________________________________________ > > This email has been scanned by the MessageLabs Email Security System. > > For more information please visit http://www.messagelabs.com/email > > ______________________________________________________________________ > > > This email and any files transmitted with it are confidential and intended > solely for the use of the individual or entity to whom they are addressed. > Please notify the sender immediately by email if you have received this > email by mistake and delete this email from your system. Please note that > any views or opinions presented in this email are solely those of the > author and do not necessarily represent those of the organisation. > Finally, the recipient should check this email and any attachments for > the presence of viruses. The organisation accepts no liability for any > damage caused by any virus transmitted by this email. > >