C#winform执行存储过账超时

2025-04-14 16:10:36
推荐回答(5个)
回答1:

sqlComm.CommandTimeout = 0;这样就不会提示超时了。。同时运用线程可以解决卡死的问题
但是你这个执行时间太长了吧60000秒,如果说你要从根本上解决这个问题,建议你还是把你的存储过程进行优化,从程序那里指标不治本

回答2:

  1. 在sqlserver里面6万条也不算多吧,你直接在数据库里面执行需要多久?

  2. 试试连接字符串的以下属性Connect Timeout、Connection Lifetime、Connection Reset

回答3:

  1. 不想假死的话,执行的时候需要开新的线程。

  2. 执行长时间的数据库运算时,需要设置Sqlcommand对象的commandtimeout的属性,你可以设置一个大的数字,或者0,

回答4:

你将执行交给数据库,然后在执行完成后将一个表的记录进行修改,你只要在一定的时间后去查看这个表是否已经修改了就行,如果没有修改就说明存储过程失败。

回答5:

这个最好的办法,你现在的是同步执行,点击按钮就执行去了,你给这段方法加上事物,不要在存储过程中加事物,后台跑个线程,你点击按钮,让线程去执行这个方法,就会解决假死状态,而且也会解决超时问题