2012-01-28 58 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