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


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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM