pyodbc 锁定表并且运行时间太长

问题描述 投票:0回答:2

我有一个 python 脚本,用于将文件从 SFTP 站点下载到本地文件夹,然后使用下载的文件运行存储过程。第一个方面运行良好。但是,存储过程的执行会导致 SQL 服务器上的其他表被锁定 - 返回“超时已过期”错误。该程序已经运行了一个半小时。

这是我用于执行存储过程的语法,以防有人想知道:

conn = pyodbc.connect('DRIVER={SQLServer};SERVER=localhost;DATABASE=Db;UID=myid;PWD=mypwd')
cursor = conn.cursor()

cursor.execute("""exec SP_Upsert_Y ?""",sfile)
cursor.commit()
python sql-server pyodbc
2个回答
1
投票

我有同样的问题,并且解决了将参数

autocommit=True
添加到连接字符串


0
投票

我遇到了同样的问题,但即使将 autocommit 设置为 true 后,问题仍然出现。将 autocommit 设置为 true 后,并执行 lambda 函数后,我能够手动查询由相同存储过程填充的表,但 lambda 函数超时

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.