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 > > > > > > > >