zoukankan      html  css  js  c++  java
  • 将不确定变为确定~真的是SqlDataReader引起的超时?

    回到目录

    在进行大数据量读操作时,一般我们会选择SqlDataReader,或者不会使用DataSet,原因就不说了,在我项目中遇到一个很奇怪的问题,当sql执行时候过长时,系统被抛一个超时,链接池已满的提示。

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

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

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

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

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

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

    程序再运行,问题解决,呵呵!

    所以,解决问题应该是对正下药才行!

     

    回到目录

  • 相关阅读:
    3.JavaWeb过滤器/拦截器/监听器及AOP编程的理解
    flex弹性盒里order属性示例
    flex的align-content、align-items的介绍
    flex的justify-content
    flex属性介绍
    flex模式下的导航条示例
    less变量用法讲解
    css变量的引用
    透视图的设置
    图片飞出效果
  • 原文地址:https://www.cnblogs.com/lori/p/2628475.html
Copyright © 2011-2022 走看看