Connessione ODBC in Python

Connessione ODBC in Python

La necessità è quella di connettere Python a un database Oracle, su piattaforma Linux.

Avendo già installato unixODBC, ho deciso di usare quella connessione.

Per sapere come installare e configurare unixODBC su Linux per un db Oracle potete vedere qua.

Do quindi per scontato questo passaggio.

Per quanto riguarda Python (uso la versione 3 di default), iniziamo con installare un modulo apposito:

# pip install pyodbc

A questo punto, vediamo il minimo codice minimo sindacale per connettersi al db ed effettuare una query:

import pyodbc
 
cnxn = pyodbc.connect("DSN=C4B")
cursor = cnxn.cursor()
cursor.execute("SELECT * FROM GEN_ANAG WHERE DITAGENDA = 'XXL' AND FVL = ' '")
for row in cursor:
    print(row.RAGSOC)

Come DNS, dovete mettere quello impostato nella configurazione ODBC (e questo penso valga anche se usate Windows).

Dopo la connessione, aprite un cursore ed eseguite la query.

Sotto iterate sul cursore, stampando i campi che vi servono.

Potete impostare l'indice, oppure il nome del campo (quello che ho fatto io).

Enjoy!