2012-01-28 53 views
3

here连接池误解?

enter image description here 林无法理解

他们说,ado.net不包括连接池机制。

1)如果使用的是datareader类使用连接字符串从web.config文件IM - 它会/不会有轮询机制?

2)如果我所有的sql连接代码都使用web.config连接字符串,连接池是否会启用?或不 ?

3)什么是默认值?

回答

8

SQL Server和Oracle SQL 提供程序实现连接池。

ADO.NET作为一个框架没有这个概念 - 例如,没有ConnectionPool类。如果您查看数据库类型的基类,则它们不具有任何连接池支持 - 例如,比较DbConnectionSqlConnection

回答您的问题:

  1. 如果提供了连接池实现,它可以使用它。它取决于您使用的提供程序,而不是连接字符串,尽管连接池设置通过连接字符串进行控制(如果提供程序支持该选项)。

  2. 在SQL Server和Oracle 提供商是实现池的那些 - 他们将读取连接字符串设置,但是否连接池可用与否取决于提供程序(如果连接字符串禁用池,它是在提供商中可用,提供商将禁用它)。

  3. 默认情况下使用连接池(如果可用)(这取决于提供程序)。

+0

1)'can' fepends on what?如果即时通讯编写一个连接字符串,它会被启用? – 2012-01-28 13:02:58

+0

@RoyiNamir - 如果您在连接字符串和_provider_中没有提及关于池的任何信息,那么将默认启用它(对于大多数提供程序,您需要阅读正在使用的提供程序的文档) 。 – Oded 2012-01-28 13:04:11

+0

谢谢。星期六和平。 – 2012-01-28 13:04:56