Re: Looking for clever solution: Different versions of Oracle .so files within single Perl build

2009-12-15 Thread Peter J. Holzer
On 2009-12-14 07:18:41 -0500, jeff wrote:
 I need to connect simultaneously to both Oracle 8 and oracle 10 from the
 same script using 'external' connection (ie, no username or password). 
 The Oracle libraries, from my experimentations, are not compatible for
 external connections. Oracle 8 uses system ID and Oracle 10 uses wallet
 and they do not overlap. 
[...]
 Anyway, since Oracle DBD can only be built against 1 at a time , this
 presents a problem.  I have been trying to use DBI Proxy in a PAR
 standalone for Oracle 8 connections and the usual setup for Oracle 10
 connections with some limited success.  
 
 What would be ideal would be to have 2 different Oracle DBD connections
 from within the same perl build.  Any suggestions or ideas for potential
 solutions out there ?

Split the script into two processes: One of them talks the Oracle 8 DB
and the other one talks to the Oracle 10 DB. Let them communicate over a
pipe or socket.

hp

-- 
   _  | Peter J. Holzer| Auf jedem Computer sollte der Satz Ludwigs II
|_|_) | Sysadmin WSR   | eingeprägt stehen: Ein ewig Rätsel will ich
| |   | h...@wsr.ac.at  | bleiben, mir und andern.
__/   | http://www.hjp.at/ |-- Wolfram Heinrich in desd


signature.asc
Description: Digital signature


Re: Looking for clever solution: Different versions of Oracle .so files within single Perl build

2009-12-15 Thread jeff
Just reading about RMI - sounds promising :-)
Thanks you very much.

On Mon, 2009-12-14 at 20:09 -0600, Scott Smith wrote:
 Try RMI::Client::ForkedPipes.  Have the child process use one lib, and 
 the parent use the other.  The child can give back with one DBI/DBD, and 
 the parent can produce handles from the other.
 
 This is effectively the proxy solution, but you're just forking and 
 proxying to a private sub-process you created.
 
 (Full disclosure: I wrote the RMI modules.  If they break for you please 
 email me.)
 
 Scott
 
 jeff wrote:
  You make an incorrect assumption :-(
  Not trying to fool anyone or hide my identity, just hoping for further
  input. 
 
  If you don't want to answer, then don't - but there is no need to be
  nasty about it.  You shouldn't view people so negatively.
 
  As it turns out, the proxyserver is not a solution  and database links
  are not an option - Not allowed to create.
 
 
  On Mon, 2009-12-14 at 20:54 +0100, Alexander Foken wrote:

  OK, while you were busy creating new threads, I remembered that this 
  problem was discussed some time ago on this mailing list.
 
  I was about to mail you a link to that discussion for further 
  information, like 
  http://www.mail-archive.com/dbi-users@perl.org/msg32448.html, but then 
  I saw that that therad was also started by you. We gave you several 
  pointers how to solve this problem, from using a specific oracle client 
  over proxy solutions to database links. We told you that it is 
  impossible to include two different Oracle client libraries into one 
  process. And we told you that you do not need to include two different 
  Oracle client libraries into one process.
 
  Now, you ask basically the same question again, hoping that no body 
  remembered that thread startet two months ago. Well, I did, and it seems 
  you are resistant to consulting, both from Oracle experts and from 
  experienced DBI users.
 
  So, why do you waste our time?
 
  Alexander
 
  On 14.12.2009 13:18, jeff wrote:
  
  I need to connect simultaneously to both Oracle 8 and oracle 10 from the
  same script using 'external' connection (ie, no username or password). 
  The Oracle libraries, from my experimentations, are not compatible for
  external connections. Oracle 8 uses system ID and Oracle 10 uses wallet
  and they do not overlap. 
 
  I need to stress that this is NOT an option. I have no say in this
  regardless of how insecure it may sound.  
 
  Anyway, since Oracle DBD can only be built against 1 at a time , this
  presents a problem.  I have been trying to use DBI Proxy in a PAR
  standalone for Oracle 8 connections and the usual setup for Oracle 10
  connections with some limited success.  
 
  What would be ideal would be to have 2 different Oracle DBD connections
  from within the same perl build.  Any suggestions or ideas for potential
  solutions out there ?
 
  Thanks.
  Jeff
 


  
 
 



Re: Looking for clever solution: Different versions of Oracle .so files within single Perl build

2009-12-15 Thread jeff
Scott,

Would something like this be close:
##
$c = RMI::Client::ForkedPipes-new(); 

$c-call_use_lib($ENV{MY_PERL_INSTALL}.'/some/path/to/other/Oracle_module'); 
   # A build of Oracle DBD using oracle 8 client not normally in @INC

$c-call_use('DBI');

$remote_dbh = $c-call_function('DBI::connect',dbi:Oracle:host=
$host;sid=$sid, $user, $passwd);
##


On Mon, 2009-12-14 at 20:09 -0600, Scott Smith wrote:
 Try RMI::Client::ForkedPipes.  Have the child process use one lib, and 
 the parent use the other.  The child can give back with one DBI/DBD, and 
 the parent can produce handles from the other.
 
 This is effectively the proxy solution, but you're just forking and 
 proxying to a private sub-process you created.
 
 (Full disclosure: I wrote the RMI modules.  If they break for you please 
 email me.)
 
 Scott




Re: Looking for clever solution: Different versions of Oracle .so files within single Perl build

2009-12-15 Thread Scott Smith
Try RMI::Client::ForkedPipes.  Have the child process use one lib, and 
the parent use the other.  The child can give back with one DBI/DBD, and 
the parent can produce handles from the other.


This is effectively the proxy solution, but you're just forking and 
proxying to a private sub-process you created.


(Full disclosure: I wrote the RMI modules.  If they break for you please 
email me.)


Scott

jeff wrote:

You make an incorrect assumption :-(
Not trying to fool anyone or hide my identity, just hoping for further
input. 


If you don't want to answer, then don't - but there is no need to be
nasty about it.  You shouldn't view people so negatively.

As it turns out, the proxyserver is not a solution  and database links
are not an option - Not allowed to create.


On Mon, 2009-12-14 at 20:54 +0100, Alexander Foken wrote:
  
OK, while you were busy creating new threads, I remembered that this 
problem was discussed some time ago on this mailing list.


I was about to mail you a link to that discussion for further 
information, like 
http://www.mail-archive.com/dbi-users@perl.org/msg32448.html, but then 
I saw that that therad was also started by you. We gave you several 
pointers how to solve this problem, from using a specific oracle client 
over proxy solutions to database links. We told you that it is 
impossible to include two different Oracle client libraries into one 
process. And we told you that you do not need to include two different 
Oracle client libraries into one process.


Now, you ask basically the same question again, hoping that no body 
remembered that thread startet two months ago. Well, I did, and it seems 
you are resistant to consulting, both from Oracle experts and from 
experienced DBI users.


So, why do you waste our time?

Alexander

On 14.12.2009 13:18, jeff wrote:


I need to connect simultaneously to both Oracle 8 and oracle 10 from the
same script using 'external' connection (ie, no username or password). 
The Oracle libraries, from my experimentations, are not compatible for

external connections. Oracle 8 uses system ID and Oracle 10 uses wallet
and they do not overlap. 


I need to stress that this is NOT an option. I have no say in this
regardless of how insecure it may sound.  


Anyway, since Oracle DBD can only be built against 1 at a time , this
presents a problem.  I have been trying to use DBI Proxy in a PAR
standalone for Oracle 8 connections and the usual setup for Oracle 10
connections with some limited success.  


What would be ideal would be to have 2 different Oracle DBD connections
from within the same perl build.  Any suggestions or ideas for potential
solutions out there ?

Thanks.
Jeff

  
  





Re: Looking for clever solution: Different versions of Oracle .so files within single Perl build

2009-12-14 Thread Alexander Foken
You need only one client version to connect to both 8 and 10, preferably 
the newer 10 client. It shuld work in 99.9% of all cases. If that 
doesn't work, try 8. If that still does not work, try 9.


Alexander

On 14.12.2009 13:18, jeff wrote:

I need to connect simultaneously to both Oracle 8 and oracle 10 from the
same script using 'external' connection (ie, no username or password). 
The Oracle libraries, from my experimentations, are not compatible for

external connections. Oracle 8 uses system ID and Oracle 10 uses wallet
and they do not overlap. 


I need to stress that this is NOT an option. I have no say in this
regardless of how insecure it may sound.  


Anyway, since Oracle DBD can only be built against 1 at a time , this
presents a problem.  I have been trying to use DBI Proxy in a PAR
standalone for Oracle 8 connections and the usual setup for Oracle 10
connections with some limited success.  


What would be ideal would be to have 2 different Oracle DBD connections
from within the same perl build.  Any suggestions or ideas for potential
solutions out there ?

Thanks.
Jeff

  



--
Alexander Foken
mailto:alexan...@foken.de  http://www.foken.de/alexander/



Re: Looking for clever solution: Different versions of Oracle .so files within single Perl build

2009-12-14 Thread jeff
External connect ( no username or password needed ) ?   

What I've tried so far:
I built against Oracle 8 client and external connection ( based on
system id ) works only for oracle 8 - oracle 10 uses a wallet.
Then I built against oracle 10 - worked with wallet (external
connection) but not an external connection on oracle 8 ( system id
based ).

Currently trying to keep in separate processes by using oracle 8 build
in stand-alone DBI proxy server for 8 and using regular oracle dbi build
in current perl for oracle 10.

This works somewhat - except the 'prepare' is apparently postponed so no
values are returned and I need those values ( column names and types ).

So is there a hack to get 2 oracle dbd build ( called by different
names ) in the same perl build ?

On Mon, 2009-12-14 at 16:27 +0100, Alexander Foken wrote:
 You need only one client version to connect to both 8 and 10, preferably 
 the newer 10 client. It shuld work in 99.9% of all cases. If that 
 doesn't work, try 8. If that still does not work, try 9.
 
 Alexander
 
 On 14.12.2009 13:18, jeff wrote:
  I need to connect simultaneously to both Oracle 8 and oracle 10 from the
  same script using 'external' connection (ie, no username or password). 
  The Oracle libraries, from my experimentations, are not compatible for
  external connections. Oracle 8 uses system ID and Oracle 10 uses wallet
  and they do not overlap. 
 
  I need to stress that this is NOT an option. I have no say in this
  regardless of how insecure it may sound.  
 
  Anyway, since Oracle DBD can only be built against 1 at a time , this
  presents a problem.  I have been trying to use DBI Proxy in a PAR
  standalone for Oracle 8 connections and the usual setup for Oracle 10
  connections with some limited success.  
 
  What would be ideal would be to have 2 different Oracle DBD connections
  from within the same perl build.  Any suggestions or ideas for potential
  solutions out there ?
 
  Thanks.
  Jeff
 

 
 



RE: Looking for clever solution: Different versions of Oracle .so files within single Perl build

2009-12-14 Thread Ian Harisay
Have you considered using database links?  Instead of 2 connections, you could 
just do everything thru oracle 10. 

-Original Message-
From: jeff [mailto:j...@roqc.no] 
Sent: Monday, December 14, 2009 5:19 AM
To: dbi-users@perl.org
Subject: Looking for clever solution: Different versions of Oracle .so files 
within single Perl build

I need to connect simultaneously to both Oracle 8 and oracle 10 from the
same script using 'external' connection (ie, no username or password). 
The Oracle libraries, from my experimentations, are not compatible for
external connections. Oracle 8 uses system ID and Oracle 10 uses wallet
and they do not overlap. 

I need to stress that this is NOT an option. I have no say in this
regardless of how insecure it may sound.  

Anyway, since Oracle DBD can only be built against 1 at a time , this
presents a problem.  I have been trying to use DBI Proxy in a PAR
standalone for Oracle 8 connections and the usual setup for Oracle 10
connections with some limited success.  

What would be ideal would be to have 2 different Oracle DBD connections
from within the same perl build.  Any suggestions or ideas for potential
solutions out there ?

Thanks.
Jeff



Re: Looking for clever solution: Different versions of Oracle .so files within single Perl build

2009-12-14 Thread Alexander Foken
OK, while you were busy creating new threads, I remembered that this 
problem was discussed some time ago on this mailing list.


I was about to mail you a link to that discussion for further 
information, like 
http://www.mail-archive.com/dbi-users@perl.org/msg32448.html, but then 
I saw that that therad was also started by you. We gave you several 
pointers how to solve this problem, from using a specific oracle client 
over proxy solutions to database links. We told you that it is 
impossible to include two different Oracle client libraries into one 
process. And we told you that you do not need to include two different 
Oracle client libraries into one process.


Now, you ask basically the same question again, hoping that no body 
remembered that thread startet two months ago. Well, I did, and it seems 
you are resistant to consulting, both from Oracle experts and from 
experienced DBI users.


So, why do you waste our time?

Alexander

On 14.12.2009 13:18, jeff wrote:

I need to connect simultaneously to both Oracle 8 and oracle 10 from the
same script using 'external' connection (ie, no username or password). 
The Oracle libraries, from my experimentations, are not compatible for

external connections. Oracle 8 uses system ID and Oracle 10 uses wallet
and they do not overlap. 


I need to stress that this is NOT an option. I have no say in this
regardless of how insecure it may sound.  


Anyway, since Oracle DBD can only be built against 1 at a time , this
presents a problem.  I have been trying to use DBI Proxy in a PAR
standalone for Oracle 8 connections and the usual setup for Oracle 10
connections with some limited success.  


What would be ideal would be to have 2 different Oracle DBD connections
from within the same perl build.  Any suggestions or ideas for potential
solutions out there ?

Thanks.
Jeff

  



--
Alexander Foken
mailto:alexan...@foken.de  http://www.foken.de/alexander/



Re: Looking for clever solution: Different versions of Oracle .so files within single Perl build

2009-12-14 Thread jeff
You make an incorrect assumption :-(
Not trying to fool anyone or hide my identity, just hoping for further
input. 

If you don't want to answer, then don't - but there is no need to be
nasty about it.  You shouldn't view people so negatively.

As it turns out, the proxyserver is not a solution  and database links
are not an option - Not allowed to create.


On Mon, 2009-12-14 at 20:54 +0100, Alexander Foken wrote:
 OK, while you were busy creating new threads, I remembered that this 
 problem was discussed some time ago on this mailing list.
 
 I was about to mail you a link to that discussion for further 
 information, like 
 http://www.mail-archive.com/dbi-users@perl.org/msg32448.html, but then 
 I saw that that therad was also started by you. We gave you several 
 pointers how to solve this problem, from using a specific oracle client 
 over proxy solutions to database links. We told you that it is 
 impossible to include two different Oracle client libraries into one 
 process. And we told you that you do not need to include two different 
 Oracle client libraries into one process.
 
 Now, you ask basically the same question again, hoping that no body 
 remembered that thread startet two months ago. Well, I did, and it seems 
 you are resistant to consulting, both from Oracle experts and from 
 experienced DBI users.
 
 So, why do you waste our time?
 
 Alexander
 
 On 14.12.2009 13:18, jeff wrote:
  I need to connect simultaneously to both Oracle 8 and oracle 10 from the
  same script using 'external' connection (ie, no username or password). 
  The Oracle libraries, from my experimentations, are not compatible for
  external connections. Oracle 8 uses system ID and Oracle 10 uses wallet
  and they do not overlap. 
 
  I need to stress that this is NOT an option. I have no say in this
  regardless of how insecure it may sound.  
 
  Anyway, since Oracle DBD can only be built against 1 at a time , this
  presents a problem.  I have been trying to use DBI Proxy in a PAR
  standalone for Oracle 8 connections and the usual setup for Oracle 10
  connections with some limited success.  
 
  What would be ideal would be to have 2 different Oracle DBD connections
  from within the same perl build.  Any suggestions or ideas for potential
  solutions out there ?
 
  Thanks.
  Jeff