다음을 통해 공유


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> 섹션에 이름이 같은 2개의 항목이 있습니다.

예제

다음 예제에서는 를 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 instance 대한 새 연결을 설정합니다.

참고

SqlConnection scope 나가면 닫혀 있지 않습니다. 따라서 를 호출 Close하여 연결을 명시적으로 닫아야 합니다.

참고

SQL Server instance 연결하려고 하고 TCP/IP 이외의 프로토콜을 사용할 때 1433 이외의 포트 번호를 지정하면 메서드가 Open 실패합니다. 1433 이외의 포트 번호를 지정하려면 연결 문자열 "server=machinename,port number"를 포함하고 TCP/IP 프로토콜을 사용합니다.

참고

SQL Server .NET Framework 데이터 공급자를 사용하려면 SQL 디버깅을 사용하도록 설정된 를 열려 SqlConnection 면 "관리되지 않는 어셈블리에 대한 호출 허용"이 사용하도록 설정된 보안 권한이 필요합니다(SecurityPermissionSecurityPermissionFlag 로 설정UnmanagedCode됨).

적용 대상

추가 정보