Re: [cx-oracle-users] Choosing client libraries
Brought to you by:
atuining
From: Anthony T. <ant...@gm...> - 2006-01-27 14:55:33
|
On 1/27/06, Paul Watson <pw...@re...> wrote: > > Ok, I can accept that the risks are reasonable. The only other > > difference in behavior that I can think of is that some of the current > > differences between OCI releases are based on #define constants -- > > which are definitely not available in the dll. We will need to find > > some function that exists in one release and not in the other and use > > the presence of that function instead as a means of determining what > > client level is being used. Are you volunteering to find those??? :-) > > Are you volunteering to provide the template I should be using to try > > this? How eager are you to move down this path? > > How about using the VERSIONINFO from oci.dll? That's only available on Windows. cx_Oracle does run on other platforms -- what would you suggest for those platforms? > I still do not understand your statement, Anthony, that cx_Oracle is link= ed to a specific version of Oracle client. I can use the same cx_Oracle wi= th 10g and 8.1.7 by changing the PATH. There are three components with "ve= rsion" states. If cx_Oracle executable does a static link to one version o= f the Oracle client library, then how can I use the same cx_Oracle to conne= ct with both 8.1.7 and 10g? The binaries I am providing are indeed dynamically linked. As I have stated elsewhere in this thread, on Windows Oracle has named the DLL oci.dll so you can quite easily run modules compiled against __older__ Oracle clients in __newer__ Oracle clients without trouble. Running a module compiled against __newer__ Oracle clients with an __older__ Oracle client does __NOT__ work because new methods are referenced in the module and cannot be found in the dll. That's what I am referring to. On Unix platforms Oracle chose to include the basic version in the name of the shared library so you cannot mix and match there as easily. I believe this thread was supposed to be about removing even this restriction by dynamically looking up the methods to see if they exist -- currently that code is added automatically by the linker which is what I was trying to say. Obviously I haven't been very clear. :-) Hopefully this makes it clearer?? > cx_Oracle > Oracle client > Oracle database > > > ------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. Do you grep through log fi= les > for problems? Stop! Download the new AJAX search engine that makes > searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! > http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D103432&bid=3D230486&dat= =3D121642 > _______________________________________________ > cx-oracle-users mailing list > cx-...@li... > https://lists.sourceforge.net/lists/listinfo/cx-oracle-users > |