0
A
回答
1
这种试图耗尽所有可用的连接后连接到数据库时,通常会发生。这篇关于Tuning Up ADO.NET Connection Pooling in ASP.NET Applications的文章应该解释如何解决您遇到的问题。这就是要说的事情:关闭所有SqlConnections,处理所有Sqldatasources,并增加最大池大小。
1
您是否记得在使用它们后关闭每个数据库连接?
-1
在连接字符串,请确保您设置池=假
<connectionStrings>
<clear/>
<add
name="YourConnectionString"
connectionString="Server=localhost;Database=your_db;Uid=username; _
Pwd=password;pooling=false;" <---------------POOLING = FALSE
providerName="yourprovider"/>
</connectionStrings>
3
确保您使用的块为您创建的每个对象执行实现IDisposable:
using (var connection = new SqlConnection(connectionString)) {
using (var command = new SqlCommand(query, connection)) {
using (var reader = command.ExecuteReader()) {
while (reader.Read()) {
// do something with row
}
}
}
}
否则,当发生异常时,您将泄漏资源(包括连接)。
顺便说一句,在VB中,这是
Using connection As SqlConnection = New SqlConnection(connectionString))
...
End Using
相关问题
- 1. Norm.MongoException:连接超时尝试从连接池中获取连接
- 2. Npgsql:从池中获取连接时超时
- 3. 从池中获取连接之前已超时的时间段
- 4. 超时已过期。在从池中获取连接之前已超时。
- 5. 超时已过期。在从池中获取连接之前已超时。
- 6. 错误连接:超时过期。在从池中获取连接之前已经超时的时间
- 7. 获取超时过期。从池中获取连接之前已经超时的时间段
- 8. BizTalk WCF SQL适配器接收超时尝试从池中获取连接
- 9. 超时过期:连接池
- 10. Tomcat的连接池,连接超时
- 11. 获取连接超时与DB连接
- 12. 无法从连接池中获取/创建连接
- 13. 超时已过期。从池中获取连接之前超时时间已过去
- 14. 在OCCI中获取连接超时
- 15. 无法获取Jedis连接,无法从池中获取资源
- 16. 为什么Uodotnet连接池超时?
- 17. 事务超时和连接池问题
- 18. Akka .NET连接池超时问题
- 19. 从C3P0连接池获取数据源/连接
- 20. 从连接池获取数据库连接
- 21. Sails.js,MongoDb:尝试连接时超时;可能使用连接池?
- 22. 使用多线程和连接池时避免连接超时
- 23. 获取java.net.SocketTimeoutException:连接超时错误
- 24. 甲骨文连接获取超时
- 25. 休眠c3p0连接池没有超时空闲连接
- 26. 从PHP读取Apache连接超时
- 27. 在连接Jira以获取问题时获取超时异常
- 28. 获取连接池中的空闲连接数
- 29. Rails4:如何获取ActiveRecord连接池中的空闲连接数?
- 30. SSL连接超时和读取超时
但如果需要什么连接池? – CodeKiwi 2009-07-17 06:24:51