SqlConnection.Open 方法

定義

使用 ConnectionString 所指定的屬性設定,開啟資料庫連接。

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

實作

例外狀況

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

連接已經開啟。

開啟連接時發生連接層級的錯誤。 如果 Number 屬性包含值 18487 或 18488,這就表示指定的密碼已過期或必須重設。 如需詳細資訊,請參閱 ChangePassword(String, String) 方法。

app.config 檔案中的 <system.data.localdb> 標記有無效或未知的項目。

<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 實例的新連線。

注意

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

注意

如果您嘗試連線到 SQL Server 的實例,並使用 TCP/IP 以外的通訊協定時,指定 1433 以外的埠號碼,則Open方法會失敗。 若要指定 1433 以外的埠號碼,請在 連接字串 中包含 “server=machinename,port number”,並使用 TCP/IP 通訊協定。

注意

.NET Framework data Provider for SQL Server 需要啟用 [允許呼叫非受控元件SecurityPermissionSecurityPermissionFlag] 的安全性許可權, (設定為 UnmanagedCode) 以開啟SqlConnection已啟用 SQL 偵錯的 。

適用於

另請參閱