SqlCommand.CommandTimeout 和 SqlConnection.ConnectionTimeout 这两个的区别
来源:互联网 发布:微信小程序需要域名吗 编辑:程序博客网 时间:2024/05/16 06:56
http://blog.csdn.net/long2006sky/article/details/1683459
今天碰到了一个查询异常问题,上网查了一下,感谢原创和译者
如果你使用的数据库连接类是 the Data Access Application Blocks "SqlHelper" 或者 SqlClient Class , 你在执行一个很费时的SQL 操作时候,可能就会碰到下面的超时异常。
---------------------------
---------------------------
Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
---------------------------
OK
---------------------------
你会说,我在连接字符串中已经 设置了 Connect Timeout=80000 ,并且数据库中超时连接也是设置的值是一个很大的值。为啥到了30秒,仍然超时了呢??
这是因为:
你的设置并没有问题,是你混淆了 SqlCommand.CommandTimeout 和 SqlConnection.ConnectionTimeout 这两个的区别了。
你的连接字符串中的超时只是设置的 SqlConnection.ConnectionTimeout 的值,而不是设置的 SqlCommand.CommandTimeout 的值。
SqlHelper 中并没有 SqlCommand.CommandTimeout 的相关设置。需要你自己设置。
下面是两个的比较:
SqlCommand.CommandTimeout
获取或设置在终止执行命令的尝试并生成错误之前的等待时间。
等待命令执行的时间(以秒为单位)。默认为 30 秒。
SqlConnection.ConnectionTimeout
获取在尝试建立连接时终止尝试并生成错误之前所等待的时间。
等待连接打开的时间(以秒为单位)。默认值为 15 秒。
一些更详细的对这个问题的描述看:
http://www.eggheadcafe.com/PrintSearchContent.asp?LINKID=357
这个问题可以算是 SqlHelper 设计的时候,一个考虑不周的地方吧。
SqlCommand.CommandTimeout 的默认值是30,对于我写的大多数程序来说,这个值足够了。所以一直都没有发现SqlHelper的这个问题。今天在查本地一台比较差的机子上生成一个超长帖子(近4000个回复)无响应的问题时候,才发现SQLHelper 存在的这个问题。
- SqlCommand.CommandTimeout 和 SqlConnection.ConnectionTimeout 这两个的区别
- SqlConnection.ConnectionTimeout 与 SqlCommand.CommandTimeout
- SqlConnection.ConnectionTimeout 与 SqlCommand.CommandTimeout 及SqlBulkCopy.BulkCopyTimeout属性
- sqlconnection,sqldataadapter,sqlcommand的区别
- Sqlconnection,sqlcommand,和List和Arraylist的区别
- ConnectionTimeOut和SocketTimeOut的区别
- beta2中的SqlConnection和SqlCommand
- OleDbConnection 和 SqlConnection的区别
- OleDbConnection和SqlConnection的区别
- SqlConnection,SqlCommand,SqldataReader的用法总结
- SqlConnection,SqlCommand,SqlDataAdaper的用法总结
- SqlConnection,SqlCommand,SqlReader,SqlDataAdaper的用法总结!!
- SqlConnection,SqlCommand,SqlReader,SqlDataAdaper的用法总结!!
- SqlConnection,SqlCommand,SqldataReader的用法总结:
- SqlConnection,SqlCommand,SqlDataAdaper的用法总结
- SqlConnection,SqlCommand,SqldataReader的用法总结:
- [转载]SqlConnection,SqlCommand,SqldataReader的用法总结:
- SqlConnection,SqlCommand,SqldataReader的用法总结:
- C# 双向链表
- 新手如何进入seo的殿堂-seo笔记
- 【最短路】解题报告
- Xcode and #pragma mark
- iPhone开发札记【2011.11.01】
- SqlCommand.CommandTimeout 和 SqlConnection.ConnectionTimeout 这两个的区别
- flex Tree xmlNode jsonData,更换treeData
- 什么是APK文件?他和android手机是什么关系?
- 为什么你应该(从现在开始就)写博客(转)
- JS中实现replaceAll的方法
- 检查textarea输入文本的长度 var2(100)汉字50 字母100
- 两个人打乒乓球,7局4胜,问打到第7局的概率
- 良好的design
- 2011年10月买到Incredible S G11山寨,大家警惕!