You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为SQLAlchemy引擎创建传递deprecate_large_types参数

给SQLAlchemy引擎传递deprecate_large_types参数的两种方法

针对SQL Server环境下LargeBinary类型需要设置deprecate_large_types=True的需求,有两种可行的参数传递方式:

方法一:在连接URL后直接追加参数

直接在原有的连接字符串末尾用&拼接参数即可,修改后的代码如下:

server = 'xxxx'
username = 'xxx'
password = 'xxx'
database = 'MemDB'
driver = 'ODBC+DRIVER+17+for+SQL+Server'
# 追加deprecate_large_types参数
engine_stmt = 'mssql+pyodbc://{}:{}@{}/{}?driver={}&deprecate_large_types=True'.format(
    username, password, server, database, driver
)

engine = sqlalchemy.create_engine(engine_stmt)

方法二:通过create_engine的connect_args传入参数

要是不想把参数写在URL里,也可以在创建引擎时用connect_args传递:

server = 'xxxx'
username = 'xxx'
password = 'xxx'
database = 'MemDB'
driver = 'ODBC+DRIVER+17+for+SQL+Server'
engine_stmt = 'mssql+pyodbc://{}:{}@{}/{}?driver={}'.format(
    username, password, server, database, driver
)

# 通过connect_args传入参数
engine = sqlalchemy.create_engine(
    engine_stmt,
    connect_args={"deprecate_large_types": True}
)

设置该参数后,SQLAlchemy会启用新的大类型处理逻辑,LargeBinary会正确映射为SQL Server的VARBINARY(MAX)类型,就能正常创建表了。

内容的提问来源于stack exchange,提问作者euranoo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 15:42:45