Karena Anda sudah memiliki DSN yang berfungsi yang ditentukan di odbc.ini, Anda dapat menggunakannya:
con = pyodbc.connect("DSN=my-connector")
Juga, sebagai catatan, spasi ekstra di string koneksi Anda mungkin membingungkan masalah karena ini berfungsi dengan baik untuk saya, setidaknya di bawah Python 2.7
import pyodbc
conn_str = (
"DRIVER={PostgreSQL Unicode};"
"DATABASE=postgres;"
"UID=postgres;"
"PWD=whatever;"
"SERVER=localhost;"
"PORT=5432;"
)
conn = pyodbc.connect(conn_str)
crsr = conn.execute("SELECT 123 AS n")
row = crsr.fetchone()
print(row)
crsr.close()
conn.close()