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 通訊協定。

注意

SQL Server.NET Framework Data Provider需要啟用 [允許呼叫 Unmanaged 元件] 的安全性許可權, (SecurityPermission SecurityPermissionFlag 設定為 UnmanagedCode [) ] 以開啟 SqlConnection 已啟用 SQL 偵錯的 。

適用於

另請參閱