簡體   English   中英

C#連接數據庫

[英]c# connection to database

我想知道保持數據庫連接(System.Data.SqlClient.SqlConnection())是否打開是個好主意,還是建議使用后關閉該連接並在需要時再次打開它? (注意:我的應用程序將連續運行幾天/幾個月)。 我有點想讓它保持開放狀態。 哪個解決方案更好?

通常,在使用完畢后將其丟棄,不要擔心。

ADO.NET默認情況下實現連接池 ,因此該連接在后台保持打開狀態,從而避免了始終打開新連接的性能損失。

關閉代碼中連接的另一個原因-如果在不使用連接時失去與數據庫服務器的連接,則不會遇到錯誤,如果您保持連接打開狀態,則可能會發生錯誤。

您絕對應該盡可能早地打開連接,並盡快關閉它們。

但是,不僅要在完成時關閉它們,而且:即使在緊密相關的命令之間也要關閉它們,如果它們之間根本沒有其他代碼在運行。 實際上,讓我這樣說:盡可能快而頻繁地關閉ADO.NET Connection對象。 (也就是說,不要做明顯愚蠢的事情來關閉顯然不應該關閉的連接)

默認情況下,SQL Server的ADO.NET提供程序(以及大多數其他重要的提供程序)提供連接池。 這實際上將為您管理這些連接的創建和銷毀-但前提是您必須在完成后關閉它們。

如果將連接對象的創建和使用包裝在using塊中,這很容易實現...

using(SqlConnection conn = new SqlConnection(...))
{
   ///Open and use the connection
} //the 'using' causes it to automatically be closed.

如果需要,請打開連接,不要浪費資源;-)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM