Jef_Zhang 2022-09-15 10:12 采纳率: 0%
浏览 16

C# Task运行存储过程

线程里面执行存储过程 ,这个存储过程需要2个小时,从数据库里面查询存储过程日志发现存储过程已经执行完毕,但是C#的后续代码没有执行,请问什么原因
try
            {
                this.Invoke(_appendTextBoxTextSender, new object[] { this.txtfxmessage, DateTime.Now.ToString() + " 风险分数接收开始……\r\n", "" });
                //计算总分
                Hashtable ht_pimportrisk = new Hashtable();
                ht_pimportrisk.Add("@username", PublicInfos.FUSERNAME);//此过程耗时两个小时,但是看了数据库日志,执行完毕了。
                _odh.RunProcedure("Pimportrisk", ht_pimportrisk);


                this.Invoke(_appendTextBoxTextSender, new object[] { this.txtfxmessage, DateTime.Now.ToString() + " 数据分析完成……\r\n", "" });




            }
            catch (ThreadAbortException)
            {
                //线程中止
            }
            catch (NullReferenceException)
            {
                //线程中止可能出现的异常
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
            string endmessage = DateTime.Now.ToString() + " 风险客户数据采集完成。";
            this.Invoke(_appendTextBoxTextSender, new object[] { this.txtfxmessage, endmessage + "\r\n", "" });
            _log.InsertOpLog("", "风险客户采集", endmessage, "");
  • 写回答

2条回答 默认 最新

  • wanghui0380 2022-09-15 10:28
    关注

    你把各种异常都吃了,你说这个存储过程运行2小时?那么正常ado执行的结果是“超时”异常

    评论

报告相同问题?

问题事件

  • 创建了问题 9月15日