Re: [cx-oracle-users] Choosing client libraries
Brought to you by:
atuining
From: Anthony T. <ant...@gm...> - 2006-01-20 22:57:54
|
Unfortunately Oracle does not provide the client version in its files anywhere so that information cannot be provided directly. You can check for the existence of certain attributes (like cx_Oracle.SessionPool is only available in 9i and up and cx_Oracle.Connection.module is only available in 10g and up) or something similar but I'm not aware of any other method of doing this. Recognize as well that since cx_Oracle is linked directly against the Oracle client libraries these must be present in order to even import the module. Windows seems to like to also put information in a message box (very unhelpful for server applications) when an import fails because of a linking problem. The only effective means I have found of dealing with this is found in my cx_OracleDBATools package. I search $ORACLE_HOME/lib for files that are only found in 8i, 9i or 10g and then specifically import cx_Oracle_8i or cx_Oracle_9i or cx_Oracle_10g as cx_Oracle. In other words, you need to have each module available as a separate name and then decide which version you want to import yourself. Hope this helps. On 1/20/06, Paul Watson <pw...@re...> wrote: > Is there any way to control which client libraries will be used by cx_Ora= cle? > > If the 8.1 client is used, then it cannot connect to XE or 10g. > If the XE client is used, then it cannot connect to 8.1.7. > > When it fails, how can I give the user helpful information from which the= problem might be resolved? Yes, I can handle an exception. What informat= ion should I give the user? > > C:\src\python\db\cx_Oracle>test1.py > apilevel =3D 2.0 > buildtime =3D January 26, 2005 14:37:48 > version =3D HEAD > type =3D <type 'str'> > dsn =3D (DESCRIPTION=3D(ADDRESS_LIST=3D(ADDRESS=3D(PROTOCOL=3DTCP)(HOST= =3D172.168.80.80)(PORT=3D1521)))(CONNECT_DATA=3D(SID=3DTRAIN))) > Traceback (most recent call last): > File "C:\src\python\db\cx_Oracle\test1.py", line 15, in ? > connection =3D cx_Oracle.connect("pwatson", "***********", "TRAIN") > cx_Oracle.DatabaseError: ORA-12154: TNS:could not resolve the connect ide= ntifier specified > > > ------------------------------------------------------- > 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 > |