共用方式為


建立連線

適用於:.NET Framework .NET .NET Standard

下載 ADO.NET

若要連線到 Microsoft SQL Server,請使用 Microsoft SqlClient Data Provider for SQL Server 的 SqlConnection 物件。 若要安全地儲存及擷取連接字串,請參閱保護連線資訊

關閉連線

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

您也可以使用 Connection 物件的 CloseDispose 方法。 可能不會將未明確關閉的連接加入或傳回集區。 例如,已離開範圍但尚未明確關閉的連接僅會在已達到最大集區大小,且連接仍然有效時,才會回到連接集區。

注意

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

注意

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

連線到 SQL Server

如需有效的字串格式名稱及值,請參閱 ConnectionString 物件的 SqlConnection 屬性。 您也可以使用 SqlConnectionStringBuilder 類別在執行階段建立語法有效的連接字串。 如需詳細資訊,請參閱連接字串建置器

下列程式碼範例示範如何建立及開啟與 SQL Server 資料庫的連接。

using Microsoft.Data.SqlClient;

class Program1
{
    static void Main()
    {
        string s = GetConnectionString();

        OpenSqlConnection(s);
        Console.ReadLine();
    }

    private static void OpenSqlConnection(string connectionString)
    {
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            connection.Open();
            Console.WriteLine("ServerVersion: {0}", connection.ServerVersion);
            Console.WriteLine("State: {0}", connection.State);
        }
    }

    static private string GetConnectionString()
    {
        // To avoid storing the connection string in your code, 
        // you can retrieve it from a configuration file, using the 
        // System.Configuration.ConfigurationSettings.AppSettings property 
        return "Data Source=(local);Initial Catalog=AdventureWorks;"
            + "Integrated Security=SSPI;";
    }
}

整合式安全性與 ASP.NET

連線到 SQL Server 時,SQL Server 整合式安全性 (也稱為信任連接) 有助於提供保護,因為其不會在連接字串中公開使用者識別碼與密碼,而且是建議用於驗證連線的方法。 整合安全性會使用執行中處理序的目前安全性識別或語彙基元。 針對傳統型應用程式,這個身分識別通常是目前登入之使用者的身分識別。

ASP.NET 應用程式的安全性識別可設為數個不同的選項之一。 若要更加了解 ASP.NET 應用程式在連線到 SQL Server 時所使用的安全性身分識別,請參閱 ASP.NET 模擬ASP.NET 驗證操作說明:使用 Windows 整合式安全性存取 SQL Server

另請參閱