原文: http://blog.csdn.net/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清掉么,希望更多的人看到这篇文章,少点纠结

