5544992 发表于 2015-6-30 09:14:57

代码调用存储过程超时,SQL Server Management Studio里运行很快 (改进)

  原文:http://blog.iyunv.com/iwteih/article/details/4515267



今天同事用代码调用存储过程时超时,在SQL Server Management Studio里运行却很快就有结果,这和我上次遇到的情况一下,现在将解决方案记录如下,谨为大家作一提醒。

解决方案就是: 把存储过程中多余的空格删掉。

瞠目吧结舌吧,不过这就是现实,现实是残酷的,现实是无情的,哈哈

不一定是哪个空格就引起了超时,试着看吧

  上面的解决方案是将存储过程里的空格去掉,但如果这样,存储过程的格式就不是很友好后期维护也是很麻烦。
  痛定思痛,于是乎有了下面的解决方案:即然是在数据库里执行成功,所以在程序里构造一条如下的SQL执行
  



            SqlParameter param = new SqlParameter("@project_id", project_id);
string selectCmd = string.Format("exec dbo.[***Get*ro*ctCo***] @project_id ", project_id);
DataSet ds = this.ExecuteQuery(CommandType.Text, selectCmd, param);
  将存储过程的执行作为一条SQL传到数据库中执行。
  OK,纠结的你,赶紧试试吧。。。
  
  话说微软能把这个BUG清掉么,希望更多的人看到这篇文章,少点纠结
页: [1]
查看完整版本: 代码调用存储过程超时,SQL Server Management Studio里运行很快 (改进)