c#对数据库访问完应关闭连接
2016-10-22 22:12
218 查看
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 增加。
其解决方法:见微软的官方说明“如果 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 增加。
相关文章推荐
- C#提升性能"数据库连接打开与关闭"经验分享(附:优化过的DBHelper类) 之配餐系统的开发
- C#提升性能"数据库连接打开与关闭"经验分享(附:优化过的DBHelper类) 之配餐系统的开发
- EF访问数据库报“ExecuteReader 要求已打开且可用的 Connection。连接的当前状态为已关闭。”错误
- C#提升性能"数据库连接打开与关闭"经验分享(附:优化过的DBHelper类) 之配餐系统的开发
- 用C#访问带密码ACCESS数据库(OLEDB连接各种数据库)
- .Net数据库访问问题:已有打开的与此连接相关联的 DataReader,必须首先将它关闭。
- C#提升性能"数据库连接打开与关闭"经验分享(附:优化过的DBHelper类) 之配餐系统的开发
- C#基础——数据库连接字符串及数据库访问
- c#自动关闭数据库连接
- 用C#访问带密码ACCESS数据库(OLEDB连接各种数据库)
- 实现C#与数据库的连接(在C#中访问数据库)
- C#使用数据库连接访问全过程显示
- c# 连接访问数据库
- C#中数据库连接限制关闭与不关闭探讨
- C#提升性能"数据库连接打开与关闭"经验分享(附:优化过的DBHelper类) 之配餐系统的开发
- C#访问数据库使用web.config配置连接字串
- C#提升性能"数据库连接打开与关闭"经验分享(附:优化过的DBHelper类) 之配餐系统的开发
- 关闭数据库连接的高效方法 (asp.net 2.0 C#)
- C#连接数据库
- C#连接数据库 SqlCommand