使用 sqlalchemy 连接到 mssql 数据库时遇到问题
Posted
技术标签:
【中文标题】使用 sqlalchemy 连接到 mssql 数据库时遇到问题【英文标题】:Having trouble connecting to an mssql database using sqlalchemy 【发布时间】:2019-10-01 16:14:11 【问题描述】:我正在尝试连接到数据库并使用 sqlalchemy 将其插入。我已经使用 pyodbc 成功连接到数据库,但是 sqlalchemy 给我带来了麻烦。
我正在使用 sqlalchemy,以便可以使用 pd.to_sql
方法将数据帧插入数据库。
我检查了我的计算机上的 sql 版本和数据库是否匹配。我还将数据库添加到我电脑上的“odbc 数据源”中。
我还确保所有凭据都正确,并将版本添加到连接 url 中的 sql 驱动程序中。
import sqlalchemy
connect_url = sqlalchemy.engine.url.URL(
'mssql+pyodbc',
username='******',
password='*********',
host='******.database.windows.net',
port='1433',
database='*******',
query=dict(driver='SQL+Server'))
from sqlalchemy import create_engine
engine = create_engine(connect_url)
engine.execute("SELECT * FROM ********")
错误:
"InterfaceError: (pyodbc.InterfaceError) ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)') (Background on this error at: http://sqlalche.me/e/rvf5)"
【问题讨论】:
【参考方案1】:我使用query=dict(driver='SQL Server')
代替query=dict(driver='SQL+Server')
让您的代码正常工作。
【讨论】:
以上是关于使用 sqlalchemy 连接到 mssql 数据库时遇到问题的主要内容,如果未能解决你的问题,请参考以下文章
使用 sqlalchemy.engine.url.URL 为 mssql+pyodbc 构建连接 URL
使用 sqlalchemy 连接到本地 postgresql