2010-01-19 46 views
1

我正在使用MS SQL的Microsoft企業庫。企業庫自動關閉它的連接,但我不希望它關閉。我如何更改企業庫連接狀態

如何繼續打開企業庫連接?

+0

爲什麼你不想讓你的SQL連接關閉?如果你這樣做,你的連接池會很快耗盡。 – Oded 2010-01-19 08:49:19

+0

是的你是對的,但如果我不關閉我會打開52000連接並關閉它們。所以我想要一個連接並完成所有工作,而不是關閉該連接。 – cagin 2010-01-19 09:26:18

回答

0

實際上,它不會那樣工作。 .NET級別的DbConnection會打開並關閉,是的。但是在ADO.NET驅動程序的下面,到數據庫的物理連接(實際上需要客戶端服務器資源的連接)不會爲每個數據庫打開和關閉。 ADO.NET驅動程序管理一個物理連接池。因此,這52000個連接中的每一個實際上都共享相同的物理底層連接。這並不是真的讓你付出任何代價。

連接管理實際上是數據訪問塊存在的原因的約50%,所以沒有簡單的開關來關閉它。你可以做的最好的做法是手動創建DbConnection並將它傳遞給需要連接的重載。但是,你需要自己管理它。在那一點上,你可能更好的是直接調用ADO.NET。