我有一个 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()
我有同样的问题,并且解决了将参数
autocommit=True
添加到连接字符串
我遇到了同样的问题,但即使将 autocommit 设置为 true 后,问题仍然出现。将 autocommit 设置为 true 后,并执行 lambda 函数后,我能够手动查询由相同存储过程填充的表,但 lambda 函数超时