SqlConnection.Open 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
오버로드
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
됨).