SQL超时解决方法.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SQL超时解决方法

HYPERLINK /lihuimingcn/archive/2008/08/05/1260868.html Net 连接池的配置Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.” ADO.Net 在数据库操作过程中默认打开了连接池,不需要再进行手工配置。这个特性可以使数据库操作时效率提高,但也要有相应的代码配合,才能真正提高程序效率。 1、连接字符串 ??? ADO.Net 中的连接池大小可以通过数据库连接字符串来控制,例如: ??? string cs = ??? server=.;uid=sa;pwd=tcaccp;database=pubs;pooling=true;min pool size=5;max pool size=10 ??? 其中 pooling 表示是否打开连接池,默认为打开,关掉时需要 pooling = false; ??? min pool size 表示连接池最少保存几个连接对象; ??? max pool size 表示连接池最多保存几个连接对象。(最大值不能为 0,也不能小于最小值) ??? 配置好以后,通过 SqlConnection con = new SqlConnection(cs); 即可得到一个属于连接池的连接对象。 ??? 但一定要注意,连接字符串的任何改动,系统都会认为是另一个完全不同的数据库连接,将会创建新的连接池,这必然会造成更大的系统开销。所以,为了保证某些连接对象属于一个连接池,连接字符串不能有任何变化,包括大小写,包括空格,都不能有任何变化。??? 2、程序中的改动 ??? 普通的数据库操作: ??? SqlConnection con = new SqlConnection(cs); ??? try ??? { ??? ?? con.Open(); ??? ?? //进行各种数据库操作 ??? } ??? catch(Exception ex){ Console.WriteLine(ex.Message); } ??? finally ??? { ??? ?? con.Close(); ??? ?? con.Dispose(); ??? } ??? 这个过程很繁琐,每次都要在操作完毕后保证连接对象的关闭和资源释放。在打开连接池特性以后,finally 中的内容,其实是将连接对象的状态置为关闭,然后放回到连接池中。既然系统知道要放回连接池,那有没有什么更好的方法呢? ??? using(SqlConnection con = new SqlConnection(cs)) ??? { ??? ?? try ??? ?? { ??? ?? ?? con.Open(); ??? ?? ?? // Do Something...... ??? ?? } ??? ??? catch(Exception ex){ Console.WriteLine(ex.Message); } ??? } ??? .Net 中的 using 语句,不光能导入命名空间,还能在程序体内,局部使用某个对象。像上边代码,con 的作用域只有 using 对应的大括弧这么大。更神奇的是,using 可以在对象作用域结束时,自动调用 con.Dispose()将对象释放,所以以上代码中,没有 con.Close() 和 con.Dispose(),同样可以释放资源,放回连接池,省了 finally 和手工关闭的麻烦。但同时需要注意,using 既然是在结束作用域时是自动调用对象的 Dispose()方法,那就是说不是什么类型的对象都可以用 using 的方式自动释放,必须要实现 IDispose 接口。 当使用.NET开发数据库应用时,有时会遇到下面的超时异常,Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. 现把解决方法总结一下: 影响服务器产生超时的设置大致有: 1. Server.scrīptTimeout, 2. Connection对象的CommandTimeOut属性, 3. Command对象的CommandTimeOut属性, 4. IE浏览器的设置. Server.scrīptTimeout,默认值是90秒. 要增大它,在你的asp文件中加一句,如下: Server.scrīptTimeout=999, 将页面超时设为999秒. 最

文档评论(0)

gk892289 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档