共用方式為


建立連線

若要連接至 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 陳述式

您也可針對使用的提供者,使用連接物件的 CloseDispose 方法。 可能不會將未明確關閉的連接加入或傳回集區。 例如,已離開範圍但尚未明確關閉的連接僅會在已達到最大集區大小,且連接仍然有效時,才會回到連接集區。 如需詳細資訊,請參閱 OLE DB、ODBC 與 Oracle 連接共用

注意

請不要在類別之 Close 方法中的 DisposeDataReader 或任何其他受控物件上呼叫 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 關鍵字。

  • 不支援 URLRemote ProviderRemote 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)。 如需更多詳情,請參閱OdbcConnectionOdbcConnection

下列程式碼範例說明如何建立及開啟與 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.
}

另請參閱