mercoledì 6 dicembre 2017

Collegarsi a SQL server e leggere tabelle.

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