SqlConnection.Open 方法

定義

開啟一個資料庫連線,並依照 ConnectionString.

public:
 virtual void Open();
public:
 override void Open();
public void Open();
public override void Open();
abstract member Open : unit -> unit
override this.Open : unit -> unit
override this.Open : unit -> unit
Public Sub Open ()
Public Overrides Sub Open ()

實作

例外狀況

無法在未指定資料來源或伺服器的情況下開啟連線。

連線已經開啟。

在開啟連線時發生連線層級錯誤。 若 Number 屬性中值為 18487 或 18488,表示指定密碼已過期或必須重置。 詳情請參閱方法 ChangePassword(String, String)

<system.data.localdb>app.config 檔案中的標籤有無效或未知的元素。

<localdbinstances> 區塊中有兩個同名條目。

範例

以下範例建立一個 SqlConnection,打開它,並顯示其部分特性。 連接在區塊結束 using 時自動關閉。

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);
    }
}
Private Sub OpenSqlConnection(ByVal connectionString As String)
    Using connection As New SqlConnection(connectionString)
        connection.Open()
        Console.WriteLine("ServerVersion: {0}", connection.ServerVersion)
        Console.WriteLine("State: {0}", connection.State)
    End Using
End Sub

備註

如果有開放連線,則 SqlConnection 從連線池中抽取一個開放連線。 否則,它會建立一個新的 SQL Server 實例連線。

Note

如果超出 SqlConnection 範圍,則不會被關閉。 因此,你必須明確關閉連線,並呼叫 Close

Note

如果你在嘗試連接 SQL Server 實例且使用非 TCP/IP 協定時,指定非 1433 的埠號,Open 方法就會失敗。 若要指定 1433 以外的埠號,請在 連接字串 中加入「server=machinename,port number」,並使用 TCP/IP 協定。

Note

.NET Framework Data Provider for SQL Server 需要啟用安全權限並啟用「允許呼叫非管理組件」(SecurityPermissionSecurityPermissionFlag 設為 UnmanagedCode)才能開啟啟用 SQL 除錯的 SqlConnection

適用於

另請參閱