2016-12-27 2 views
2

Python verwenden: wenn zu SQL Server mit Pyodbc verbinden, alles funktioniert gut, aber wenn ich sqlalchemy wechseln, die Verbindung fehlschlägt, mir die Fehlermeldung geben:Python SQLAlchemy: source Datenname nicht gefunden und kein Standardtreiber angegeben

('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)') 

Mein Code:

cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=servername;DATABASE=dbname;UID=username;PWD=password') 
engine = sqlalchemy.create_engine("mssql+pyodbc://username:[email protected]/dbname") 

ich kann nicht den Fehler in meinem Code finden, und nicht verstehen, warum die ersten Optionen funktioniert, aber die zweite nicht.

Hilfe wird sehr geschätzt!

Antwort

2

Es funktioniert mit Pymssql anstelle von Pyodbc.

installieren pymssql pip verwendet, dann den Code ändern:

engine = sqlalchemy.create_engine("mssql+pymssql://username:[email protected]/dbname") 
0

in dieses Problem auch Ran, einen Treiber Abfrage-String an das Ende meines Verbindungsweg anhängen gearbeitet:

"mssql+pyodbc://" + uname + ":" + pword + "@" + server + "/" + dbname + "?driver=SQL+Server" 
Verwandte Themen