Python 代码没有 运行 SQL 存储过程完全

Python code doesn't run the SQL stored procedure completely

我不精通Python,但我写了一个python代码来执行一个存储过程(SQL服务器),其中包含多个存储过程,因此通常需要在 SSMS 上 运行 需要 5 分钟左右。

当我 运行 Python 代码时,我可以看到存储过程 运行s 中途没有错误,这让我觉得在编码时需要更多时间来执行python.

我发现其他帖子中有人建议使用子流程,但我不知道如何对此进行编码。下面是一个(不是我的)python 代码的例子来执行存储过程。

mydb_lock = pyodbc.connect('Driver={SQL Server Native Client 11.0};'
                       'Server=localhost;'
                       'Database=InterelRMS;'
                       'Trusted_Connection=yes;'
                       'MARS_Connection=yes;'
                       'user=sa;'
                       'password=Passw0rd;')

mycursor_lock = mydb_lock.cursor()
sql_nodes = "Exec IVRP_Nodes"
mycursor_lock.execute(sql_nodes)
mydb_lock.commit()

如何编辑以上代码以使用子流程?子流程是正确的选择吗?您可以推荐任何其他方法吗?

非常感谢。

Python 2.7 和 3 SQL 服务器

2022 年 4 月 4 日更新:

@AlwaysLearning,我试过了

 NEWcnxn   = pyodbc.connect('DRIVER={ODBC Driver 13 for SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password+';Connection Timeout=0')

但是没有任何变化。我注意到,为了检查它执行了多少代码,我在我认为 SP 停止的嵌套过程中的某处紧接着插入了以下两行代码。

INSERT INTO  CheckTable (OrgID,Stage,Created) VALUES(@OrgID,2.5331,getdate()) 
INSERT INTO  CheckTable (OrgID,Stage,Created) VALUES(@OrgID,2.5332,getdate()) 

只完成了第一个查询。如果有帮助,我会使用 Azure DB。

2022 年 5 月 4 日更新:

我尝试了@AlwaysLearning 建议的方法,在我连接后,我添加了 NEWconxn.timeout=4000 现在可以使用了

我尝试了@AlwaysLearning 的建议,在连接后,我添加了 NEWconxn.timeout=4000,它现在可以正常工作了。非常感谢。