Esecuzione cx_Oracle sotto jython su Tomcat
Domanda
Sto cercando di carico cx_Oracle utilizzando Tomcat.
Caricamento in pitone funziona bene, ma per Jython sto ottenendo "modulo non trovato". Il mio system.path include site-packages che contiene cx_Oracle.so.
Sono nuovo di Jython e non ho avuto il tempo per familiarizzare con tutte le variabili, ma credo di avere tutte le variabili di ambiente necessarie esportate, anche se chiaramente qualcosa non va.
Soluzione
Ben, non tutti i moduli che il lavoro con Python nell'attuazione CPython funziona su altre implementazioni. Se le chiamate di sistema tale utilizzo moduli specifici, o si lega ad alcuni file dll / .so non lavorerà sugli altri implementazione di Python. cx_Oracle è un sistema operativo tali moduli: si lega al client Oracle (ci sono versioni cx_Oracle per varie versioni di Oracle e vari sistemi operativi)
. Penso che si dovrebbe usare driver JDBC se si desidera accedere a Oracle da Jython. Quindi è possibile utilizzare le chiamate JDBC, o l'uso zxJDBC
modulo Jython che rende i driver JDBC disponibili tramite chiamate API DB. Ho usato sia JDBC (con zxJDBC
) e cx_Oracle nei programmi che possono lavorare da CPython e Jython. Per vederlo in azione guardare alla mia ricetta per scaricare lo schema db Oracle per il testo