다음을 통해 공유


OdbcConnection 클래스

정의

데이터 원본에 대한 열린 연결을 나타냅니다.

public ref class OdbcConnection sealed : System::Data::Common::DbConnection, ICloneable
public ref class OdbcConnection sealed : System::ComponentModel::Component, ICloneable, IDisposable, System::Data::IDbConnection
public sealed class OdbcConnection : System.Data.Common.DbConnection, ICloneable
public sealed class OdbcConnection : System.ComponentModel.Component, ICloneable, IDisposable, System.Data.IDbConnection
type OdbcConnection = class
    inherit DbConnection
    interface ICloneable
type OdbcConnection = class
    inherit Component
    interface ICloneable
    interface IDbConnection
    interface IDisposable
Public NotInheritable Class OdbcConnection
Inherits DbConnection
Implements ICloneable
Public NotInheritable Class OdbcConnection
Inherits Component
Implements ICloneable, IDbConnection, IDisposable
상속
상속
구현

예제

다음 예제에서는 OdbcCommandOdbcConnection만듭니다. OdbcConnection 열리고 Connection 속성으로 설정됩니다. 그런 다음 ExecuteNonQuery호출하고 연결을 닫습니다. 이를 위해 ExecuteNonQuery 연결 문자열과 SQL INSERT 문인 쿼리 문자열을 전달합니다.

static private void InsertRow(string connectionString)
{
    string queryString =
        "INSERT INTO Customers (CustomerID, CompanyName) Values('NWIND', 'Northwind Traders')";
    OdbcCommand command = new OdbcCommand(queryString);

    using (OdbcConnection connection = new OdbcConnection(connectionString))
    {
        command.Connection = connection;
        connection.Open();
        command.ExecuteNonQuery();

        // The connection is automatically closed at
        // the end of the Using block.
    }
}
Private Sub InsertRow(ByVal connectionString As String)

    Dim queryString As String = _
        "INSERT INTO Customers (CustomerID, CompanyName) Values('NWIND', 'Northwind Traders')"
    Dim command As New OdbcCommand(queryString)

    Using connection As New OdbcConnection(connectionString)
        command.Connection = connection
        connection.Open()
        command.ExecuteNonQuery()

        ' The connection is automatically closed at 
        ' the end of the Using block.
    End Using
End Sub

설명

OdbcConnection 개체는 연결 문자열 또는 ODBC DSN(데이터 원본 이름)을 사용하여 만든 데이터 원본에 대한 고유한 연결을 나타냅니다. 클라이언트/서버 데이터베이스 시스템의 경우 서버에 대한 네트워크 연결과 동일합니다. 네이티브 ODBC 드라이버에서 지원하는 기능에 따라 OdbcConnection 개체의 일부 메서드 또는 속성을 사용할 수 없습니다.

OdbcConnection 개체는 ODBC 환경 및 연결 핸들과 같은 네이티브 리소스를 사용합니다. OdbcConnection 개체가 범위를 벗어나기 전에 Close 또는 Dispose 호출하거나 Using 문 내에 연결을 배치하여 열려 있는 OdbcConnection 개체를 항상 명시적으로 닫아야 합니다. 이렇게 하지 않으면 이러한 네이티브 리소스를 가비지 수집으로 해제할 수 있습니다. 그것은 즉시 그들을 해제하지 않을 수 있습니다. 이로 인해 결국 기본 드라이버가 리소스가 부족해지거나 최대 한도에 도달할 수 있습니다. 이로 인해 간헐적으로 오류가 발생했습니다. 예를 들어 가비지 수집기에서 많은 연결이 삭제되기를 기다리는 동안 Maximum Connections -related 오류가 발생할 수 있습니다. 연결을 명시적으로 닫으면 네이티브 리소스를 보다 효율적으로 사용하고 확장성을 향상시키고 전반적인 애플리케이션 성능을 향상시킬 수 있습니다.

메모

고성능 애플리케이션을 배포하려면 연결 풀링을 자주 사용해야 합니다. 그러나 .NET Framework Data Provider for ODBC를 사용하는 경우 공급자가 자동으로 관리하므로 연결 풀링을 사용하도록 설정할 필요가 없습니다.

OdbcCommand 클래스의 Execute 메서드 중 하나로 인해 심각한 OdbcException(예: SQL Server 심각도 수준이 20 이상)인 경우 OdbcConnection 닫을 수 있습니다. 그러나 사용자는 연결을 다시 열고 계속할 수 있습니다.

OdbcConnection 개체의 인스턴스를 만드는 애플리케이션은 선언적 또는 명령적 보안 요구를 설정하여 모든 직접 및 간접 호출자가 코드에 대한 충분한 권한을 갖도록 요구할 수 있습니다. OdbcConnection OdbcPermission 개체를 사용하여 보안 요구를 만듭니다. 사용자는 OdbcPermissionAttribute 개체를 사용하여 코드에 충분한 권한이 있는지 확인할 수 있습니다. 사용자 및 관리자는 코드 액세스 보안 정책 도구(Caspol.exe)를 사용하여 컴퓨터, 사용자 및 엔터프라이즈 수준에서 보안 정책을 수정할 수도 있습니다. 자세한 내용은 코드 액세스 보안 및 ADO.NET참조하세요.

데이터 원본에서 경고 및 정보 메시지를 처리하는 방법에 대한 자세한 내용은 연결 이벤트참조하세요.

생성자

OdbcConnection()

OdbcConnection 클래스의 새 인스턴스를 초기화합니다.

OdbcConnection(String)

지정된 연결 문자열을 사용하여 OdbcConnection 클래스의 새 인스턴스를 초기화합니다.

속성

CanCreateBatch

DbConnection 인스턴스가 DbBatch 클래스를 지원하는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 DbConnection)
CanRaiseEvents

구성 요소가 이벤트를 발생시키는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Component)
ConnectionString

데이터 원본을 여는 데 사용되는 문자열을 가져오거나 설정합니다.

ConnectionTimeout

시도를 종료하고 오류를 생성하기 전에 연결을 설정하는 동안 대기할 시간(초)을 가져오거나 설정합니다.

Container

Component포함하는 IContainer 가져옵니다.

(다음에서 상속됨 Component)
Database

연결을 연 후 사용할 현재 데이터베이스 또는 데이터베이스의 이름을 가져옵니다.

DataSource

데이터 원본의 서버 이름 또는 파일 이름을 가져옵니다.

DbProviderFactory

DbConnection대한 DbProviderFactory 가져옵니다.

(다음에서 상속됨 DbConnection)
DesignMode

Component 현재 디자인 모드인지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Component)
Driver

현재 연결에 대해 지정된 ODBC 드라이버의 이름을 가져옵니다.

Events

Component연결된 이벤트 처리기 목록을 가져옵니다.

(다음에서 상속됨 Component)
ServerVersion

클라이언트가 연결된 서버의 버전을 포함하는 문자열을 가져옵니다.

Site

Component ISite 가져오거나 설정합니다.

(다음에서 상속됨 Component)
State

연결의 현재 상태를 가져옵니다.

메서드

BeginDbTransaction(IsolationLevel)

파생 클래스에서 재정의되면 데이터베이스 트랜잭션을 시작합니다.

(다음에서 상속됨 DbConnection)
BeginDbTransactionAsync(IsolationLevel, CancellationToken)

데이터베이스 트랜잭션을 비동기적으로 시작합니다.

(다음에서 상속됨 DbConnection)
BeginTransaction()

데이터 원본에서 트랜잭션을 시작합니다.

BeginTransaction(IsolationLevel)

지정된 IsolationLevel 값을 사용하여 데이터 원본에서 트랜잭션을 시작합니다.

BeginTransactionAsync(CancellationToken)

데이터베이스 트랜잭션을 비동기적으로 시작합니다.

(다음에서 상속됨 DbConnection)
BeginTransactionAsync(IsolationLevel, CancellationToken)

데이터베이스 트랜잭션을 비동기적으로 시작합니다.

(다음에서 상속됨 DbConnection)
ChangeDatabase(String)

열려 있는 OdbcConnection연결된 현재 데이터베이스를 변경합니다.

ChangeDatabaseAsync(String, CancellationToken)

열려 있는 연결에 대한 현재 데이터베이스를 비동기적으로 변경합니다.

(다음에서 상속됨 DbConnection)
Close()

데이터 원본에 대한 연결을 닫습니다.

CloseAsync()

데이터베이스에 대한 연결을 비동기적으로 닫습니다.

(다음에서 상속됨 DbConnection)
CreateBatch()

DbBatch 클래스를 구현하는 공급자 클래스의 새 인스턴스를 반환합니다.

(다음에서 상속됨 DbConnection)
CreateCommand()

OdbcConnection연결된 OdbcCommand 개체를 만들고 반환합니다.

CreateDbBatch()

파생 클래스에서 재정의되는 경우 DbBatch 클래스를 구현하는 공급자 클래스의 새 인스턴스를 반환합니다.

(다음에서 상속됨 DbConnection)
CreateDbCommand()

파생 클래스에서 재정의되는 경우 현재 연결과 연결된 DbCommand 개체를 만들고 반환합니다.

(다음에서 상속됨 DbConnection)
CreateObjRef(Type)

원격 개체와 통신하는 데 사용되는 프록시를 생성하는 데 필요한 모든 관련 정보를 포함하는 개체를 만듭니다.

(다음에서 상속됨 MarshalByRefObject)
Dispose()

관리되지 않는 리소스의 해제, 해제 또는 재설정과 관련된 애플리케이션 정의 작업을 수행합니다.

(다음에서 상속됨 DbConnection)
Dispose()

Component사용하는 모든 리소스를 해제합니다.

(다음에서 상속됨 Component)
Dispose(Boolean)

DbConnection 사용하는 관리되지 않는 리소스를 해제하고 필요에 따라 관리되는 리소스를 해제합니다.

(다음에서 상속됨 DbConnection)
Dispose(Boolean)

Component 사용하는 관리되지 않는 리소스를 해제하고 필요에 따라 관리되는 리소스를 해제합니다.

(다음에서 상속됨 Component)
DisposeAsync()

연결 개체를 비동기적으로 디포즈합니다.

(다음에서 상속됨 DbConnection)
EnlistDistributedTransaction(ITransaction)

지정된 트랜잭션에 분산 트랜잭션으로 등록합니다.

EnlistTransaction(Transaction)

지정된 트랜잭션에 분산 트랜잭션으로 등록합니다.

EnlistTransaction(Transaction)

지정된 트랜잭션에 참여합니다.

(다음에서 상속됨 DbConnection)
Equals(Object)

지정된 개체가 현재 개체와 같은지 여부를 확인합니다.

(다음에서 상속됨 Object)
GetHashCode()

기본 해시 함수로 사용됩니다.

(다음에서 상속됨 Object)
GetLifetimeService()
사용되지 않음.

이 인스턴스의 수명 정책을 제어하는 현재 수명 서비스 개체를 검색합니다.

(다음에서 상속됨 MarshalByRefObject)
GetSchema()

OdbcConnection데이터 원본에 대한 스키마 정보를 반환합니다.

GetSchema(String)

스키마 이름에 지정된 이름을 사용하여 이 OdbcConnection 데이터 원본에 대한 스키마 정보를 반환합니다.

GetSchema(String, String[])

스키마 이름에 지정된 문자열과 제한 값에 대해 지정된 문자열 배열을 사용하여 이 OdbcConnection 데이터 원본에 대한 스키마 정보를 반환합니다.

GetSchemaAsync(CancellationToken)

비동기 버전의 GetSchema(). 공급자는 적절한 구현으로 재정의해야 합니다. cancellationToken 선택적으로 적용할 수 있습니다. 기본 구현은 동기 GetSchema() 호출을 호출하고 완료된 작업을 반환합니다. 이미 취소된 cancellationToken전달된 경우 기본 구현은 취소된 작업을 반환합니다. GetSchema() throw된 예외는 반환된 작업 예외 속성을 통해 전달됩니다.

(다음에서 상속됨 DbConnection)
GetSchemaAsync(String, CancellationToken)

GetSchema(String)비동기 버전입니다. 공급자는 적절한 구현으로 재정의해야 합니다. cancellationToken 선택적으로 적용할 수 있습니다. 기본 구현은 동기 GetSchema(String) 호출을 호출하고 완료된 작업을 반환합니다. 이미 취소된 cancellationToken전달된 경우 기본 구현은 취소된 작업을 반환합니다. GetSchema(String) throw된 예외는 반환된 작업 예외 속성을 통해 전달됩니다.

(다음에서 상속됨 DbConnection)
GetSchemaAsync(String, String[], CancellationToken)

GetSchema(String, String[])비동기 버전입니다. 공급자는 적절한 구현으로 재정의해야 합니다. cancellationToken 선택적으로 적용할 수 있습니다. 기본 구현은 동기 GetSchema(String, String[]) 호출을 호출하고 완료된 작업을 반환합니다. 이미 취소된 cancellationToken전달된 경우 기본 구현은 취소된 작업을 반환합니다. GetSchema(String, String[]) throw된 예외는 반환된 작업 예외 속성을 통해 전달됩니다.

(다음에서 상속됨 DbConnection)
GetService(Type)

Component 또는 해당 Container제공하는 서비스를 나타내는 개체를 반환합니다.

(다음에서 상속됨 Component)
GetType()

현재 인스턴스의 Type 가져옵니다.

(다음에서 상속됨 Object)
InitializeLifetimeService()
사용되지 않음.

이 인스턴스의 수명 정책을 제어하는 수명 서비스 개체를 가져옵니다.

(다음에서 상속됨 MarshalByRefObject)
MemberwiseClone()

현재 Object단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
MemberwiseClone(Boolean)

현재 MarshalByRefObject 개체의 단순 복사본을 만듭니다.

(다음에서 상속됨 MarshalByRefObject)
OnStateChange(StateChangeEventArgs)

StateChange 이벤트를 발생합니다.

(다음에서 상속됨 DbConnection)
Open()

ConnectionString지정된 속성 설정을 사용하여 데이터 원본에 대한 연결을 엽니다.

OpenAsync()

ConnectionString지정한 설정과 데이터베이스 연결을 여는 비동기 버전의 Open(). 이 메서드는 CancellationToken.None을 사용하여 OpenAsync(CancellationToken) 가상 메서드를 호출합니다.

(다음에서 상속됨 DbConnection)
OpenAsync(CancellationToken)

Open()비동기 버전입니다. 공급자는 적절한 구현으로 재정의해야 합니다. 취소 토큰은 필요에 따라 적용할 수 있습니다.

기본 구현은 동기 Open() 호출을 호출하고 완료된 작업을 반환합니다. 이미 취소된 cancellationToken을 전달한 경우 기본 구현은 취소된 작업을 반환합니다. Open에서 throw된 예외는 반환된 작업 예외 속성을 통해 전달됩니다.

반환된 Task가 완료될 때까지 DbConnection 개체의 다른 메서드와 속성을 호출하지 마세요.

(다음에서 상속됨 DbConnection)
ReleaseObjectPool()

마지막 기본 연결이 해제될 때 ODBC 드라이버 관리자 환경 핸들을 해제할 수 있음을 나타냅니다.

ToString()

Component이름이 포함된 String 반환합니다(있는 경우). 이 메서드는 재정의해서는 안 됩니다.

(다음에서 상속됨 Component)

이벤트

Disposed

구성 요소가 Dispose() 메서드 호출에 의해 삭제될 때 발생합니다.

(다음에서 상속됨 Component)
InfoMessage

ODBC 드라이버가 경고 또는 정보 메시지를 보낼 때 발생합니다.

StateChange

연결 상태가 변경되면 발생합니다.

StateChange

연결 상태가 변경되면 발생합니다.

(다음에서 상속됨 DbConnection)

명시적 인터페이스 구현

ICloneable.Clone()

이 멤버에 대한 설명은 Clone()참조하세요.

IDbConnection.BeginTransaction()

이 API는 제품 인프라를 지원하며 코드에서 직접 사용되지 않습니다.

데이터베이스 트랜잭션을 시작합니다.

IDbConnection.BeginTransaction()

데이터베이스 트랜잭션을 시작합니다.

(다음에서 상속됨 DbConnection)
IDbConnection.BeginTransaction(IsolationLevel)

이 API는 제품 인프라를 지원하며 코드에서 직접 사용되지 않습니다.

지정된 격리 수준으로 데이터베이스 트랜잭션을 시작합니다.

IDbConnection.BeginTransaction(IsolationLevel)

지정된 격리 수준으로 데이터베이스 트랜잭션을 시작합니다.

(다음에서 상속됨 DbConnection)
IDbConnection.CreateCommand()

이 API는 제품 인프라를 지원하며 코드에서 직접 사용되지 않습니다.

연결과 연결된 명령 개체를 만들고 반환합니다.

IDbConnection.CreateCommand()

현재 연결과 연결된 DbCommand 개체를 만들고 반환합니다.

(다음에서 상속됨 DbConnection)

확장 메서드

ConfigureAwait(IAsyncDisposable, Boolean)

비동기 삭제 가능 파일에서 반환된 작업에 대한 대기가 수행되는 방법을 구성합니다.

적용 대상

추가 정보