Learning

导航

c#对数据库访问完应关闭连接

1.对数据库的连接SqlConnection con = new SqlConnection(constr);使用完成后,应该至少应该close或dispose关闭。否则会导致数据库例如(SQl2005)中处于sleeping的进程增加并且不能自己销毁,最终会导致出现"“连接超时,已经到达最大连接数等信息”。

      其解决方法:见微软的官方说明“如果 SqlConnection 超出范围,则不会将其关闭。因此,除非将代码放在 using 语句内,否则必须调用 Close 或 Dispose 来显式关闭连接。它们在功能上是等效的。如果将连接池值 Pooling 设置为 true 或 yes,则也会释放物理连接。”
      https://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqlconnection.close(v=vs.80).aspx

2.Close之前可以增加SqlConnection.ClearPool(con),用于清除每次的连接,防止已经进行的数据库连接进入sleeping而导致连接用户数User Connections 增加。

posted on 2016-10-22 22:12  xinjie  阅读(6203)  评论(0编辑  收藏  举报