Oracle
 sql >> Database >  >> RDS >> Oracle

Distribuzione di cx_Oracle su varie versioni di Oracle Client

Se vuoi creare più versioni di cx_Oracle (es:cx_Oracle10g, cx_Oracle11g, ecc.) allora dovrai modificare lo script cx_Oracle setup.py. L'ultimo passaggio dello script è una chiamata a setup(); il primo parametro è il nome del modulo da costruire. Tutto quello che devi fare è cambiare "cx_Oracle" a "cx_Oracle" + ver , dove ver è 10g , 11g , ecc. Crea diversi script e codificalo, oppure aggiungi un altro parametro a setup.py per selezionarlo dinamicamente.

Ovviamente, una volta ottenuto questo, è necessario un meccanismo per caricare il modulo corretto in fase di esecuzione. Per farlo ti consigliamo di creare il tuo cx_Oracle modulo che ha un __init__.py file simile a questo:

try:
  from cx_Oracle9g import *
except ImportError:
  try:
    from cx_Oracle10g import *
  except ImportError:
    try:
      from cx_Oracle11g import *

Tutto quello che devi fare è spedire il tuo cx_Oracle personalizzato modulo più il corretto cx_OracleXg modulo con la tua applicazione.

In alternativa, potresti avere il tuo cx_Oracle personalizzato modulo controlla dinamicamente ogni libreria client Oracle disponibile (9g, 10g, 11g, ecc.) e quindi importa solo la corrispondenza corretta cx_OracleXg modulo. In questo caso, devi spedire un solo file binario, contenente il tuo cx_Oracle personalizzato modulo più tutto il cx_OracleXg moduli.