【发布时间】:2019-07-26 13:21:17
【问题描述】:
我有一个使用pyodbc.connect() (https://github.com/mkleehammer/pyodbc/wiki/Module#connect) 关键字功能的pyodbc 连接对象。
关键字包括驱动参数:
conn = pyodbc.connect(driver="SQL Server", server="myserver")
根据answer 的建议,我正在使用此连接通过creator 参数(docs) 传递给SQLAlchemy create_engine() 函数:
engine = create_engine("mssql+pyodbc://", creator=lambda: conn)
不过,creator 参数现在会忽略URL 参数中指定的连接参数:
使用此函数会导致绕过 URL 参数中指定的连接参数。
这意味着我在创建引擎时收到此警告消息:
SAWarning:未指定驱动程序名称;这是 PyODBC 在使用无 DSN 连接时所期望的 "未指定驱动程序名称;"
但是,将 sql 查询作为测试运行会返回正确的数据。如何将驱动程序信息(我假设它的 mssql+pyodbc)提供给 create_engine 函数以消除此警告?
【问题讨论】:
标签: python sqlalchemy pyodbc