共用方式為


建立連接 (ADO.NET)

更新: November 2007

若要連接至 Microsoft SQL Server 7.0 (含) 以後版本,請使用 SQL Server 的 .NET Framework 資料提供者的 SqlConnection 物件。若要連接至 OLE DB 資料來源或 Microsoft SQL Server 6.x 或更早版本,請使用 OLE DB 的 .NET Framework 資料提供者的 OleDbConnection 物件。若要連接至 ODBC 資料來源,請使用 ODBC 的 .NET Framework 資料提供者的 OdbcConnection 物件。若要連接至 Oracle 資料來源,請使用 Oracle 的 .NET Framework 資料提供者的 OracleConnection 物件。若要安全地儲存及擷取連接字串,請參閱保護連接資訊 (ADO.NET)

關閉連接

建議您在使用完連接後一律關閉該連接,以便將連接傳回集區。即使有未處理的例外狀況,Visual Basic 或 C# 中的 Using 區塊也會在程式碼結束該區塊時自動處理連接。如需詳細資訊,請參閱 using 陳述式 (C# 參考)Using 陳述式 (Visual Basic)

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

注意事項:

請不要在您類別之 Finalize 方法中的 ConnectionDataReader 或任何其他 Managed 物件上呼叫 Close 或 Dispose。在完成項中,只需釋放類別直接擁有的 Unmanaged 資源。如果類別未擁有任何 Unmanaged 資源,請不要在類別定義中包含 Finalize 方法。如需詳細資訊,請參閱記憶體回收

注意事項:

從連接集區中擷取連接或將連接傳回連接集區時,系統不會在伺服器上引發登入和登出事件,因為當連接傳回連接集區時,連接實際上並未關閉。如需詳細資訊,請參閱 SQL Server 連接共用 (ADO.NET)

連接至 SQL Server

SQL Server 的 .NET Framework 資料提供者支援與 OLE DB (ADO) 連接字串格式類似的連接字串格式。如需有效的字串格式名稱及值,請參閱 SqlConnection 物件的 ConnectionString 屬性。您也可以使用 SqlConnectionStringBuilder 類別在執行階段建立語法有效的連接字串。如需詳細資訊,請參閱連接字串產生器 (ADO.NET)

下列程式碼範例說明如何建立及開啟與 SQL Server 7.0 (含) 以後版本資料庫的連接。

' 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 驗證HOW TO:使用 Windows 整合式安全性存取 SQL Server

連接至 OLE DB 資料來源

OLE DB 的 .NET Framework 資料提供者會使用 OleDbConnection 物件,來提供與使用 OLE DB 公開之資料來源的連接,以及與 Microsoft SQL Server 6.x 或更早版本的連接 (透過 SQLOLEDB,即 OLE DB Provider for SQL Server)。

對於 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)。如需 OdbcConnection 的詳細資訊,請參閱 OdbcConnection 類別

注意事項:

.NET Framework 1.0 中不包括 ODBC 的 .NET Framework 資料提供者。如果您需要 .NET Framework Data Provider for ODBC,且正在使用 .NET Framework 1.0,則可在這個 Microsoft 網站 下載 .NET Framework Data Provider for ODBC。已下載的 ODBC 的 .NET Framework 資料提供者命名空間為 Microsoft.Data.Odbc

下列程式碼範例說明如何建立及開啟與 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.
}
OracleConnection nwindConn = new OracleConnection("Data Source=MyOracleServer;Integrated Security=yes;");
nwindConn.Open();

請參閱

概念

OLE DB、ODBC 和 Oracle 連接共用 (ADO.NET)

其他資源

連接至資料來源 (ADO.NET)

連接字串 (ADO.NET)