什麼SQL連接對象是什麼,當我們打開/關閉時會發生什麼?它消耗了什麼資源?爲什麼需要處理它(以c#/。net的形式)?什麼是SQL連接
什麼是SQL連接
回答
SqlConnection: 看看the MSDN page for SqlConnection。聲明:
SqlConnection對象表示SQL Server的唯一會話 數據源。使用客戶端/服務器數據庫系統時,它相當於 到服務器的網絡連接。
SqlConnection.Open:在MSDN page on SqlConnection.Open,它指出:
關閉SqlConnection吸引了來自連接池打開的連接,如果 一個是可用的。否則,它建立到SQL Server實例的新連接。
SqlConnection.Close(和處置):
The MSDN page on SqlConnection.Close說:
Close方法回滾任何未決的事務。然後它釋放到連接池的連接,或者在連接池被禁用時關閉連接。
此外,在SqlConnection的頁面則指出:
如果的SqlConnection超出範圍,它不會被關閉。因此,您必須通過調用Close或Dispose來顯式關閉連接。 Close和Dispose在功能上是等效的。如果連接池值Pooling設置爲true或yes,則將底層連接返回到連接池。另一方面,如果將Pooling設置爲false或否,則與服務器的底層連接實際上是關閉的。
和:
爲了確保連接總是關閉,打開一個使用塊的內部的連接,如圖所示在下面的代碼片段。這樣做可確保在代碼退出塊時連接會自動關閉。
這應該回答你的問題。
編輯: 欲瞭解更多信息(也見於您的評論),您可以閱讀Connection-Pooling,當然也可以查看source code SqlConnection。
感謝您的回答,@ tobypls。在「編輯」部分中的這兩個最後的鏈接正是我必須找到自己,但不知道如何制定我想獲得答案的問題。 – 2014-10-01 10:31:40
Okey太棒了!如果我的回答中包含您正在搜索的內容,請不要忘記將其標記爲已接受。 – tobypls 2014-10-01 10:36:31
所以實際上這個答案可以總結爲:rtfm ;-) – 2014-10-01 10:49:27
Sql連接對象,我們使用屬於System.Data.SqlClient命名空間的Sql連接類創建的對象。我們使用Sql Connection對象在sql server數據庫中執行sql命令。
Close和Dispose是兩個不同的東西。如果您關閉它,您可以重新使用該連接,但在處理之後不能重新連接。
在您需要之前打開連接並在完成您的需求後關閉連接總是一個好習慣。
在c#中,如果使用「using」語句創建連接,將會處理連接。
- 1. SQL連接還是什麼?
- 2. 這是什麼樣的SQL連接?
- 3. 什麼是超過SQL連接OLEDB連接的優點
- 4. 連接sql server和asp.net的連接字符串是什麼?
- 5. 什麼是SQL Server連接字符串中的「連接超時」?
- 6. 什麼是連接字符串Ironpython連接到SQL Server CE?
- 7. 什麼是連接池?
- 8. 連接池什麼是removeAbandoned?
- 9. 什麼是連接methodOverride()
- 10. 什麼是RMI TCP連接
- 11. 什麼是內連接?
- 12. 什麼是m2e連接器?
- 13. 什麼是可信連接?
- 14. 什麼是連接到另一個SQL Server的T-SQL語法?
- 15. MySQL,什麼是SQL接口?
- 16. 什麼是oledb連接連接DSN的連接字符串
- 17. 什麼是直接連接在Sqoop
- 18. 爲什麼global.asax更改sql連接?
- 19. 爲什麼我的SQL連接計時?
- 20. CakePHP爲什麼不使用SQL連接
- 21. 我的sql連接有什麼問題?
- 22. 我需要什麼SQL連接?
- 23. 通過SQL Server連接到主數據庫的連接字符串是什麼
- 24. 連接到web.config中的SQL Server數據庫的連接字符串是什麼?
- 25. SQL連接和左外連接:爲什麼結果不同?
- 26. 什麼是更簡潔的方式來寫自我連接SQL
- 27. 連接到SQL Server時數據源的值是什麼?
- 28. 什麼是不斷檢查SQL Server連接的標準方法?
- 29. 什麼是SQL Server連接字符串中的「複製」鍵?
- 30. SAS PROC SQL和內連接 - 什麼是替代方法
你讀過MSDN(尤其是備註部分)嗎? http://msdn.microsoft.com/en-us/library/System.Data.SqlClient.SqlConnection(v=vs.110).aspx你還應該閱讀所有關於[連接池](http:// msdn。 microsoft.com/en-us/library/8xx3tyca(v=vs.110).aspx)。 – 2014-10-01 10:04:51
沒什麼比查看源代碼[SqlConnection.cs](http://referencesource.microsoft.com/#System.Data/data/System/Data/SqlClient/SqlConnection.cs)好運 – Steve 2014-10-01 10:06:34
@tim是的,我有。文章只是說「這是一個代表會議的對象」。它是如何做到的?這個對象內部發生了什麼?請不要發送給我谷歌 - 我一直在那裏,我也一直在SO搜索引擎。 – 2014-10-01 10:08:33