Dzwebs.Net

撰写电脑技术杂文十余年

SqlDataReader引发超时的解决办法

Admin | 2015-7-23 9:19:15 | 被阅次数 | 4387

温馨提示!

如果未能解决您的问题,请点击搜索;登陆可复制文章,点击登陆

  在进行大数据量读操作时,一般我们会选择SqlDataReader,或者不会使用DataSet,但是,当sql执行时候过长时,系统被抛一个超时,链接池已满的提示。

  网上的解决方法事实上大分部是针对“connection time out“的,即链接超时,它一般解决方案是:

  A、为SQL连接串添加这个:Connect Timeout=10000 //SQL连接超时时间

  B、为SQL连接串添加这个:Max Pool Size = 512 //最大连接池

  事实上它们解决的是连接超时问题,而有时,你的程序可能是在SQL解释时间比较长,设置上面两个就没有用了,SQL的解释执行由SqlCommand对象去控制

  所以,我们正确的做法应该是设置它的超时时间,代码如下:

  comm.CommandText = sb.ToString();
  conn.Open();
  comm.CommandTimeout = 0;
  SqlDataReader reader = comm.ExecuteReader(CommandBehavior.CloseConnection);

  如此,问题得以解决,或者,你综合上面的方法,一起使用都可以!


该杂文来自: 网站开发杂文

上一篇:asp.net设置SQL数据库超时时间

下一篇:asp.net生成折线图代码

网站备案号:

网站备案号:滇ICP备11001339号-7

版权属性:

Copyright 2007-2021-forever Inc. all Rights Reserved.

联系方式:

Email:dzwebs@126.com QQ:83539231 访问统计