Esempio di connessione ad un database SQL server e di lettura tabella.
Nota: si utilizzano i driver di collegamento ODBC di Microsoft, se non sono già installati nel PC si deve procedere con l'installazione, altrimenti restituisce l'errore:
pyodbc.InterfaceError: ('IM002', '[IM002] [Microsoft][Driver Manager ODBC] Nome origine dati non trovato e driver predefinito non specificato.
Installazione libreria:
pip install pyodbc
Collecting pyodbc
Downloading pyodbc-4.0.21-cp36-cp36m-win_amd64.whl (60kB)
100% |¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 61kB 853kB/s
Installing collected packages: pyodbc
Successfully installed pyodbc-4.0.21
scarica e installa driver SQL
https://www.microsoft.com/en-us/download/confirmation.aspx?id=53339
Ho usato un utente locale del DB.
Sorgente Python: il programma si collega ad un database SQL server (nel mio caso SQL server 2008 R2), legge 50 record di una tabella e li stampa a video (una riga con il record completo, una seconda riga con i primi 2 campi della tabella).
import pyodbc
conn = pyodbc.connect(
r'DRIVER={ODBC Driver 13 for SQL Server};'
r'SERVER=<ip server SQL>;'
r'DATABASE=<database name>;'
r'UID=<user>;'
r'PWD=<password>'
)
cursor = conn.cursor()
cursor.execute("select top 50 * FROM <Tabella da leggere>")
for row in cursor.fetchall():
print(row)
print(row[0], row[1])
NOTA1: <Tabella da leggere> = <database name>.<table name>
NOTA2: se il server SQL ha attivo il firewall ricordarsi di aprire in ingresso la porta 1433.
Nessun commento:
Posta un commento