若要連接至 Microsoft SQL Server,請使用 .NET Framework Data Provider for SQL Server 的 SqlConnection 物件。 若要連接至 OLE DB 資料來源,請使用 .NET Framework Data Provider for OLE DB 的 OleDbConnection 物件。 若要連接至 ODBC 資料來源,請使用 ODBC 的 .NET Framework 資料提供者的 OdbcConnection 物件。 若要連接至 Oracle 資料來源,請使用 Oracle 的 .NET Framework 資料提供者的 OracleConnection 物件。 若要安全地儲存及擷取連接字串,請參閱保護連線資訊。
關閉連接
建議您在使用完連接後一律關閉該連接,以便將連接傳回集區。 即使有未處理的例外狀況,Visual Basic 或 C# 中的 Using 區塊也會在程式碼結束該區塊時自動處理連接。 如需詳細資訊,請參閱 using 陳述式與 Using 陳述式。
您也可針對使用的提供者,使用連接物件的 Close 或 Dispose 方法。 可能不會將未明確關閉的連接加入或傳回集區。 例如,已離開範圍但尚未明確關閉的連接僅會在已達到最大集區大小,且連接仍然有效時,才會回到連接集區。 如需詳細資訊,請參閱 OLE DB、ODBC 與 Oracle 連接共用。
注意
請不要在類別之 Close 方法中的 Dispose、DataReader 或任何其他受控物件上呼叫 或 Finalize。 在完成項中,只需釋放類別直接擁有的 Unmanaged 資源。 如果類別未擁有任何 Unmanaged 資源,請不要在類別定義中包含 Finalize 方法。 如需詳細資訊,請參閱記憶體回收。
注意
從連接集區中擷取連接或將連接傳回連接集區時,系統不會在伺服器上引發登入和登出事件,因為當連接傳回連接集區時,連接實際上並未關閉。 如需詳細資訊,請參閱 SQL Server 連線共用 (ADO.NET) \(機器翻譯\)。
連接至 SQL Server
SQL Server 的 .NET Framework 資料提供者支援與 OLE DB (ADO) 連接字串格式類似的連接字串格式。 如需有效的字串格式名稱及值,請參閱 ConnectionString 物件的 SqlConnection 屬性。 你也可以用這個 SqlConnectionStringBuilder 類別在執行時建立語法有效的連接字串。 如需詳細資訊,請參閱連接字串建置器。
下列程式碼範例示範如何建立及開啟與 SQL Server 資料庫的連接。
' Assumes connectionString is a valid connection string.
Using connection As New SqlConnection(connectionString)
connection.Open()
' Do work here.
End Using
// Assumes connectionString is a valid connection string.
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
// Do work here.
}
整合安全性與 ASP.NET
SQL Server 整合安全性 (也稱為信任連接) 可在連接至 SQL Server 時,協助提供保護,因為它不會在連接字串中公開使用者 ID 及密碼,因此建議在驗證連接時使用。 整合安全性會使用執行中處理序的目前安全性識別或語彙基元。 對於桌面應用程式,這通常是目前已登入使用者的識別。
ASP.NET 應用程式的安全性識別可設為數個不同的選項之一。 若要更加了解 ASP.NET 應用程式在連線到 SQL Server 時所使用的安全性身分識別,請參閱 ASP.NET 模擬、ASP.NET 驗證與操作說明:使用 Windows 整合式安全性存取 SQL Server。
連接 OLE DB 資料來源
.NET Framework 資料提供者(適用於 OLE DB)使用 OleDbConnection 物件,透過 SQLOLEDB(即適用於 SQL Server 的 OLE DB 提供者),為使用 OLE DB 暴露的資料來源提供連接。
對於 OLE DB 的 .NET Framework 資料提供者,連接字串格式與 ADO 中使用的連接字串格式相同,但下列情況例外:
需要
Provider關鍵字。不支援 URL、Remote Provider 及 Remote Server 關鍵字。
如需 OLE DB 連接字串 的詳細資訊,請參閱ConnectionString文章。 你也可以使用OleDbConnectionStringBuilder 在執行階段建立連接字串。
注意
該 OleDbConnection 物件不支援設定或擷取特定於 OLE DB 提供者的動態屬性。 僅支援 OLE DB 提供者之連接字串中可傳遞的屬性。
下列程式碼範例說明如何建立及開啟與 OLE DB 資料來源的連接。
' Assumes connectionString is a valid connection string.
Using connection As New OleDbConnection(connectionString)
connection.Open()
' Do work here.
End Using
// Assumes connectionString is a valid connection string.
using (OleDbConnection connection =
new OleDbConnection(connectionString))
{
connection.Open();
// Do work here.
}
不使用通用資料連結檔
可以在通用資料連結(UDL)檔案中為OleDbConnection提供連線資訊,但應避免這麼做。 UDL 檔並未加密,並且會以純文字的格式公開連接字串資訊。 因為對您的應用程式而言,UDL 檔是外部的檔案型資源,所以您無法使用 .NET Framework 來保護該檔案。
連接 ODBC 資料來源
ODBC 的 .NET Framework 資料提供者使用 OdbcConnection 物件提供與經由 ODBC 暴露的資料來源的連接。
對於 ODBC 的 .NET Framework 資料提供者,會將連接字串格式設計為儘可能與 ODBC 連接字串格式相符。 您也可以提供 ODBC 資料來源名稱 (DSN)。 如需更多詳情,請參閱OdbcConnection ,OdbcConnection。
下列程式碼範例說明如何建立及開啟與 ODBC 資料來源的連接。
' Assumes connectionString is a valid connection string.
Using connection As New OdbcConnection(connectionString)
connection.Open()
' Do work here.
End Using
// Assumes connectionString is a valid connection string.
using (OdbcConnection connection =
new OdbcConnection(connectionString))
{
connection.Open();
// Do work here.
}
連接 Oracle 資料來源
Oracle 的 .NET Framework 資料提供者透過物件 OracleConnection 提供與 Oracle 資料來源的連接。
對於 Oracle 的 .NET Framework 資料提供者,會將連接字串格式設計為儘可能與 Oracle OLE DB 提供者 (MSDAORA) 連接字串格式相符。 深入瞭解 OracleConnection,請參閱 OracleConnection。
下列程式碼範例說明如何建立及開啟與 Oracle 資料來源的連接。
' Assumes connectionString is a valid connection string.
Using connection As New OracleConnection(connectionString)
connection.Open()
' Do work here.
End Using
// Assumes connectionString is a valid connection string.
using (OracleConnection connection =
new OracleConnection(connectionString))
{
connection.Open();
// Do work here.
}
另請參閱
- 連線到資料來源
- 連接字串
- OLE DB、ODBC 和 Oracle 連接共用
- ADO.NET 概觀 \(部分機器翻譯\)