我有一个python脚本可以将文件从SFTP站点下载到本地文件夹,然后使用下载的文件运行存储过程。第一个方面运行良好。但随后执行存储过程会导致SQL服务器上其他表的锁定 - 返回“Timeout expired”错误。该程序已经运行了一个半小时。
这是我用来执行存储过程的语法,以防有人想知道:
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()
答案 0 :(得分:1)
我有同样的问题,我解决了将参数 autocommit=True
添加到连接字符串