cx_oracle. Come accedere alla macchina remota?
Domanda
Ho dato un'occhiata a cx_oracle ma ho un paio di problemi con esso. Innanzitutto, il mio server Oracle è su macchina remota. In secondo luogo, non so su quale piattaforma verrà distribuita il mio software. Tutti gli esempi che ho fondato
come questohttp://www.len.ro/2009/08/cx_oracle-on-ubuntu-9-04-jaunty/o questo https://stackoverflow.com/questions/592/cx-oracle-how-do-i-access-oracle-from-python
Supponiamo di avere Oracle Server sulla stessa macchina. C'è possibilità di avere una compilazione statica in modo da poter spostare facilmente il mio software da un PC all'altro?
grazie
Soluzione
Naturalmente CX_Oracle può funzionare con il server che lavora su un'altra macchina. Ma sulle macchine client dovrai installare Oracle client e configurarlo. Non so se l'installazione del client Oracle può essere aggiunta all'installatore dell'applicazione. Normalmente è enorme (600 mib o giù di lì) quindi non è una buona idea. Quindi su tutte le macchine client dovrai configurare il client Oracle: imposta ORACLE_HOME
, Esegui strumenti Oracle per configurare la connessione con il database ecc.
L'unica soluzione "luce" che conosco è usare JDBC di Jython o Java. In questo scenario è possibile utilizzare la versione "sottile" della stringa di connessione che richiede solo alcuni .jar
biblioteche. Tale stringa di connessione sembra:
db = DriverManager.getConnection('jdbc:oracle:thin:169.0.1.225:1521:test_db', 'user', 'passwd')
Sulle macchine client di cui ha bisogno ojdbc6.jar
e orai18n.jar
Su CLASSPATH
. Nessuna installazione, nessuna configurazione, semplice e facile.