다음을 통해 공유


SqlConnection.Open 메서드

정의

오버로드

Open()

ConnectionString로 지정된 속성 설정을 사용하여 데이터베이스 연결을 엽니다.

Open(SqlConnectionOverrides)

ConnectionString로 지정된 속성 설정을 사용하여 데이터베이스 연결을 엽니다.

Open()

ConnectionString로 지정된 속성 설정을 사용하여 데이터베이스 연결을 엽니다.

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

예외

데이터 원본이나 서버를 지정하지 않고 연결을 열 수 없습니다.

또는

연결이 이미 열려 있습니다.

연결을 여는 동안 발생한 연결 수준 오류입니다. Number 속성에 값 18487 또는 18488이 포함되는 경우 지정된 암호가 만료되었거나 다시 설정해야 함을 나타냅니다. 자세한 내용은 ChangePassword(String, String) 메서드를 참조하세요.

app.config 파일의 <system.data.localdb> 태그가 잘못되었거나 알 수 없는 요소입니다.

<localdbinstances> 섹션에 이름이 같은 2개의 항목이 있습니다.

예제

다음 예제에서는 을 SqlConnection만들고, 열고, 해당 속성 중 일부를 표시합니다. 연결은 블록의 using 끝에서 자동으로 닫힙니다.

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;";
    }
}

설명

SqlConnection 연결 풀을 사용할 수 있는 경우 연결 풀에서 열린 연결을 그립니다. 그렇지 않으면 SQL Server 인스턴스에 대한 새 연결을 설정합니다.

참고

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

참고

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

참고

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

적용 대상

Open(SqlConnectionOverrides)

ConnectionString로 지정된 속성 설정을 사용하여 데이터베이스 연결을 엽니다.

public:
 void Open(Microsoft::Data::SqlClient::SqlConnectionOverrides overrides);
public void Open (Microsoft.Data.SqlClient.SqlConnectionOverrides overrides);
override this.Open : Microsoft.Data.SqlClient.SqlConnectionOverrides -> unit
Public Sub Open (overrides As SqlConnectionOverrides)

매개 변수

overrides
SqlConnectionOverrides

기본 연결 열기 동작을 재정의하는 옵션입니다.

예외

데이터 원본이나 서버를 지정하지 않고 연결을 열 수 없습니다.

또는

연결이 이미 열려 있습니다.

연결을 여는 동안 발생한 연결 수준 오류입니다. Number 속성에 값 18487 또는 18488이 포함되는 경우 지정된 암호가 만료되었거나 다시 설정해야 함을 나타냅니다. 자세한 내용은 ChangePassword(String, String) 메서드를 참조하세요.

app.config 파일의 <system.data.localdb> 태그가 잘못되었거나 알 수 없는 요소입니다.

<localdbinstances> 섹션에 이름이 같은 2개의 항목이 있습니다.

예제

다음 예제에서는 을 SqlConnection만들고, 열고, 해당 속성 중 일부를 표시합니다. 연결은 블록의 using 끝에서 자동으로 닫힙니다.

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;";
    }
}

설명

SqlConnection 연결 풀을 사용할 수 있는 경우 연결 풀에서 열린 연결을 그립니다. 그렇지 않으면 SQL Server 인스턴스에 대한 새 연결을 설정합니다. 재정의를 지정하면 첫 번째 열린 시도가 열린 작업에 지정된 재정의를 적용합니다.

참고

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

참고

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

참고

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

적용 대상