开发者

C# SQLConnection pooling

开发者 https://www.devze.com 2023-01-30 16:13 出处:网络
Can anyone brief me how to do Connection Pooling in ADO.Net开发者_JAVA技巧, I do need to connect to 3 separate databases. 2 of them are in same server and the other in a separate one.

Can anyone brief me how to do Connection Pooling in ADO.Net开发者_JAVA技巧, I do need to connect to 3 separate databases. 2 of them are in same server and the other in a separate one.

Better with code snipts..


as long as you are strict about disposing your connections, the default (for sql-server at least) is that it will just work automatically. In your example you could well only have 3 underlying connections (one per connection string).

But always ensure your connections are disposed, ideally with using:

using(var conn = new SqlConnection(connectionString)) {
    // use conn
}

then it is released back to the pool (for re-use when the same connection-string is seen next) even when an exception is thrown.

To disable pooling (if you choose), include Pooling=false; in the connection-string.


Don't need to configure or set anything especially, just let it happen... Most issues I've seen are caused by folk not closing connections or being too clever

The pools are created per connection string so you'd have three in this case


Certain providers do not provide connection pooling. To my knowledge this includes connection strings to Microsoft Access Databases (Jet) and SQL Server CE (Compact edition).

The lack of connection pooling for those make database access remarkably slower.

A solution to the missing Jet pooling was for me to always have one single connection to the Jet database open for the whole program lifetime (contrary to what the recommended technique is). This speeded up my Jet Access database SQL queries from .NET applications tremendously, but also only works on local Jet databases; for Jet databases on network shares, I get relatively fast exceptions about too many open file handles.

For SQL Server CE, I found no solution so far.

0

精彩评论

暂无评论...
验证码 换一张
取 消