È un po' non banale. Comunque fattibile. Segui questi passaggi:
1) Scarica il client Oracle Instant per Windows x64 da
http://www.oracle.com/technetwork/topics/winx64soft-089540 .html
per esempio. scegli il cliente ad es. 11.2.0.4
-> instantclient-basic-windows.x64-11.2.0.4.0.zip
-> instantclient-sdk-windows.x64-12.1.0.2.0.zip
2) Crea una directory e decomprimi il client e l'sdk lì:
per esempio. c:\ora\11gx64
3) Imposta ORACLE_HOME e TNS_ADMIN
Vedi https:// superuser.com/questions/949560/how-do-i-set-system-environment-variables-in-windows-10 per i dettagli
per esempio. ORACLE_HOME=c:\ora\11gx64
e TNS_ADMIN=c:\ora\11gx64
aggiungi anche %ORACLE_HOME% nel tuo %PATH%
4) Nella directory creata inserisci il file tnsnames.ora e riempi con la stringa di connessione a db:
%ORACLE_HOME%**tnsnames.ora**
XE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)
)
-> sostituisci 127.0.0.1 con il tuo nome host
-> sostituisci XE con il tuo SID
5) Suppongo che tu abbia già installato Python.
-> Altrimenti visita la pagina di download per Python
-> Installa python (3.6.1 al momento della scrittura)
-> Se non è installato, installa pip ( https://pip.pypa.io/en/stable/installing/#do-ho-need-to-install-pip )
-> esegui python get-pip.py
6) Scarica e installa gli strumenti di compilazione di Visual C++ 2015
-> Cerca Visual C++ 2015 Build Tools-> Installa visualcppbuildtools_full.exe
7) Usa pip per installare cx_oracle
pip install cx_oracle
(nel momento in cui scrivo ci sono problemi con la versione 5.3 installata di default, quindi è necessario installare la versione 6.0b2)
python -m pip install cx_Oracle --pre
I primi passi sono universali secondo la mia onesta opinione sia per conda che per pip.