Python SQLAlchemy:未找到数据源名称并且未指定默认驱动程序

问题描述:

使用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") 

我无法找到我的代码中的错误,不明白为什么第一个选项工作,但第二个没有。

帮助非常感谢!

它使用pymssql而不是pyodbc。

安装pymssql使用PIP,然后更改您的代码:

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

就遇到了这个问题,以及,追加司机查询字符串来我的连接路径的结尾工作:

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