연결 설정

Microsoft SQL Server에 연결하려면 .NET Framework Data Provider for SQL Server의 SqlConnection 개체를 사용합니다. OLE DB 데이터 소스에 연결하려면 .NET Framework Data Provider for OLE DB의 OleDbConnection 개체를 사용합니다. ODBC 데이터 소스에 연결하려면 .NET Framework Data Provider for ODBC의 OdbcConnection 개체를 사용합니다. Oracle 데이터 소스에 연결하려면 .NET Framework Data Provider for Oracle의 OracleConnection 개체를 사용합니다. 연결 문자열을 안전하게 저장하고 검색하려면 연결 정보 보호를 참조하세요.

연결 닫기

사용이 끝나면 해당 연결이 풀로 반환되도록 닫아 두는 것이 좋습니다. Visual Basic 또는 C#의 Using 블록은 처리되지 않은 예외가 발생하더라도 코드에 블록이 있으면 연결을 자동으로 제거합니다. 자세한 내용은 using 문Using 문을 참조하세요.

사용 중인 공급자에 대해 연결 개체의 Close 또는 Dispose 메서드를 사용할 수도 있습니다. 명시적으로 닫히지 않은 연결은 풀에 추가되거나 반환되지 않을 수 있습니다. 예를 들어, 범위를 벗어났지만 명시적으로 닫히지 않은 연결은 최대 풀 크기에 도달했으며 여전히 유효한 경우에만 연결 풀로 반환됩니다. 자세한 내용은 OLE DB, ODBC, Oracle 연결 풀링을 참조하세요.

참고 항목

Connection, DataReader 또는 클래스의 Finalize 메서드에 있는 다른 관리되는 개체에서 Close 또는 Dispose를 호출하지 마세요. 종료자에서는 클래스에 직접 속한 관리되지 않는 리소스만 해제합니다. 클래스에 관리되지 않는 리소스가 없는 경우 클래스 정의에 Finalize 메서드를 포함하지 마세요. 자세한 내용은 가비지 수집을 참조하세요.

참고 항목

연결이 연결 풀에서 반환될 경우에는 실제로 해제된 것이 아니므로 연결이 연결 풀에서 반입되거나 연결 풀로 반환되는 경우 서버에서 로그인 및 로그아웃 이벤트가 발생하지 않습니다. 자세한 내용은 SQL Server 연결 풀링(ADO.NET)을 참조하세요.

SQL Server에 연결

.NET Framework Data Provider for SQL Server에서는 OLE DB(ADO) 연결 문자열 형식과 유사한 연결 문자열 형식을 지원합니다. 유효한 문자열 형식 이름 및 값은 ConnectionString 개체의 SqlConnection 속성을 참조하세요. SqlConnectionStringBuilder 클래스를 사용하여 런타임에 구문상 유효한 연결 문자열을 만들 수도 있습니다. 자세한 내용은 연결 문자열 작성기를 참조하세요.

다음 코드 예제에서는 SQL Server 데이터베이스에 대해 연결을 만들어 여는 방법을 보여 줍니다.

' Assumes connectionString is a valid connection string.  
Using connection As New SqlConnection(connectionString)  
    connection.Open()  
    ' Do work here.  
End Using  
// Assumes connectionString is a valid connection string.  
using (SqlConnection connection = new SqlConnection(connectionString))  
{  
    connection.Open();  
    // Do work here.  
}  

통합 보안 및 ASP.NET

트러스트된 연결이라고도 하는 SQL Server 통합 보안은 연결 문자열에 사용자 ID와 암호를 노출하지 않아 안전하게 SQL Server에 연결할 수 있으므로 연결 인증에 권장되는 방식입니다. 통합 보안에서는 실행 중인 프로세스의 현재 보안 ID, 즉 토큰을 사용합니다. 데스크톱 애플리케이션의 경우에는 일반적으로 현재 로그온한 사용자의 ID입니다.

ASP.NET 애플리케이션의 보안 ID는 여러 가지 서로 다른 옵션 중 하나로 설정할 수 있습니다. ASP.NET 애플리케이션이 SQL Server에 연결할 때 사용하는 보안 ID를 더 잘 이해하려면 ASP.NET 가장, ASP.NET 인증방법: Windows 통합 보안을 사용하여 SQL Server에 액세스를 참조하세요.

OLE DB 데이터 소스 연결

.NET Framework Data Provider for OLE DB는 OLE DB를 사용하여(OLE DB Provider for SQL Server는 SQLOLEDB를 통해) 노출되는 데이터 소스에 OleDbConnection 개체를 사용하여 연결됩니다.

.NET Framework Data Provider for OLE DB의 경우 연결 문자열 형식은 ADO에서 사용되는 연결 문자열 형식과 동일하지만, 다음과 같은 예외가 있습니다.

  • Provider 키워드는 필수적입니다.

  • URL, Remote Provider, Remote Server 키워드는 지원되지 않습니다.

OLE DB 연결 문자열에 대한 자세한 내용은 ConnectionString 항목을 참조하세요. OleDbConnectionStringBuilder를 사용하여 런타임에 연결 문자열을 만들 수도 있습니다.

참고 항목

OleDbConnection 개체는 OLE DB 공급자와 관련된 동적 속성의 설정 또는 검색을 지원하지 않습니다. OLE DB 공급자에 대한 연결 문자열에 전달할 수 있는 속성만 지원됩니다.

다음 코드 예제에서는 OLE DB 데이터 소스에 대해 연결을 만들어 여는 방법을 보여 줍니다.

' Assumes connectionString is a valid connection string.  
Using connection As New OleDbConnection(connectionString)  
    connection.Open()  
    ' Do work here.  
End Using  
// Assumes connectionString is a valid connection string.  
using (OleDbConnection connection =
  new OleDbConnection(connectionString))  
{  
    connection.Open();  
    // Do work here.  
}  

UDL(유니버설 데이터 링크) 파일에 OleDbConnection에 대한 연결 정보를 제공할 수 있지만 이렇게 해서는 안 됩니다. UDL 파일은 암호화되지 않으므로 연결 문자열 정보를 일반 텍스트로 노출시킵니다. UDL 파일은 애플리케이션에 대해 외부 파일 기반 리소스이므로 .NET Framework를 사용하여 보호할 수 없습니다.

ODBC 데이터 소스 연결

.NET Framework Data Provider for ODBC는 OdbcConnection 개체를 사용하여 ODBC를 통해 노출되는 데이터 소스에 연결됩니다.

.NET Framework Data Provider for ODBC의 경우 연결 문자열 형식은 ODBC 연결 문자열 형식에 최대한 일치하도록 디자인되었습니다. 또한 ODBC DSN(데이터 소스 이름)을 제공할 수 있습니다. OdbcConnection에 대한 자세한 내용은 OdbcConnection을 참조하세요.

다음 코드 예제에서는 ODBC 데이터 소스에 대해 연결을 만들어 여는 방법을 보여 줍니다.

' Assumes connectionString is a valid connection string.  
Using connection As New OdbcConnection(connectionString)  
    connection.Open()  
    ' Do work here.  
End Using  
// Assumes connectionString is a valid connection string.  
using (OdbcConnection connection =
  new OdbcConnection(connectionString))  
{  
    connection.Open();  
    // Do work here.  
}  

Oracle 데이터 소스 연결

.NET Framework Data Provider for Oracle은 OracleConnection 개체를 사용하여 Oracle 데이터 소스에 연결됩니다.

.NET Framework Data Provider for Oracle의 경우 연결 문자열 형식은 MSDAORA(OLE DB Provider for Oracle) 연결 문자열 형식에 최대한 일치하도록 디자인되었습니다. OracleConnection에 대한 자세한 내용은 OracleConnection을 참조하세요.

다음 코드 예제에서는 Oracle 데이터 소스에 대해 연결을 만들어 여는 방법을 보여 줍니다.

' Assumes connectionString is a valid connection string.  
Using connection As New OracleConnection(connectionString)  
    connection.Open()  
    ' Do work here.  
End Using  
// Assumes connectionString is a valid connection string.  
using (OracleConnection connection =
  new OracleConnection(connectionString))  
{  
    connection.Open();  
    // Do work here.  
}  
OracleConnection nwindConn = new OracleConnection("Data Source=MyOracleServer;Integrated Security=yes;");  
nwindConn.Open();  

참고 항목