2016-12-27 100 views
2

使用Python:使用pyodbc連接到SQL Server時,一切正常,但是當我切換到sqlalchemy時,連接失敗,給我錯誤消息:Python SQLAlchemy:未找到數據源名稱並且未指定默認驅動程序

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

我的代碼:

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

我無法找到我的代碼中的錯誤,不明白爲什麼第一個選項工作,但第二個沒有。

幫助非常感謝!

回答

2

它使用pymssql而不是pyodbc。

安裝pymssql使用PIP,然後更改您的代碼:

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

就遇到了這個問題,以及,追加司機查詢字符串來我的連接路徑的結尾工作:

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