OleDbConnection OleDbConnection OleDbConnection OleDbConnection Class

정의

데이터 소스에 대해 열려 있는 연결을 나타냅니다.Represents an open connection to a data source.

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

예제

다음 예제는 OleDbCommandOleDbConnection합니다.The following example creates an OleDbCommand and an OleDbConnection. OleDbConnection 열고로 설정 합니다 Connection 에 대 한는 OleDbCommand.The OleDbConnection is opened and set as the Connection for the OleDbCommand. 이 예제에서는 호출 ExecuteNonQuery 연결을 닫습니다.The example then calls ExecuteNonQuery and closes the connection. 이를 위해 ExecuteNonQuery 연결 문자열 및 SQL INSERT 문인 쿼리 문자열로 전달 됩니다.To accomplish this, ExecuteNonQuery is passed a connection string and a query string that is an SQL INSERT statement.

public void InsertRow(string connectionString, string insertSQL)
{
    using (OleDbConnection connection = new OleDbConnection(connectionString))
    {
        // The insertSQL string contains a SQL statement that
        // inserts a new row in the source table.
        OleDbCommand command = new OleDbCommand(insertSQL);

        // Set the Connection to the new OleDbConnection.
        command.Connection = connection;

        // Open the connection and execute the insert command.
        try
        {
            connection.Open();
            command.ExecuteNonQuery();
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
        // The connection is automatically closed when the
        // code exits the using block.
    }
}
Public Sub InsertRow(ByVal connectionString As String, _
    ByVal insertSQL As String)

    Using connection As New OleDbConnection(connectionString)
        ' The insertSQL string contains a SQL statement that
        ' inserts a new row in the source table.
        Dim command As New OleDbCommand(insertSQL)

        ' Set the Connection to the new OleDbConnection.
        command.Connection = connection

        ' Open the connection and execute the insert command.
        Try
            connection.Open()
            command.ExecuteNonQuery()
        Catch ex As Exception
            Console.WriteLine(ex.Message)
        End Try
        ' The connection is automatically closed when the
        ' code exits the Using block.
    End Using
End Sub

설명

OleDbConnection 개체 데이터 원본에 고유한 연결을 나타냅니다.An OleDbConnection object represents a unique connection to a data source. 클라이언트/서버 데이터베이스 시스템을 사용 하 여 서버에 대 한 네트워크 연결과 같습니다.With a client/server database system, it is equivalent to a network connection to the server. 네이티브 OLE DB 공급자, 일부 메서드 또는 속성을 지 원하는 기능에 따라는 OleDbConnection 개체를 사용할 수 없습니다.Depending on the functionality supported by the native OLE DB provider, some methods or properties of an OleDbConnection object may not be available.

인스턴스를 만들면 OleDbConnection, 모든 속성은 초기 값으로 설정 됩니다.When you create an instance of OleDbConnection, all properties are set to their initial values. 이러한 값의 목록을 보려면 참조는 OleDbConnection 생성자입니다.For a list of these values, see the OleDbConnection constructor.

단일 둘 이상의 DataReader를 열면 OleDbConnection합니다.You can open more than one DataReader on a single OleDbConnection. 사용 하는 OLE DB 공급자는 단일 연결에서 둘 이상의 DataReader를 지원 하지 않으면, 공급자 각각에 대 한 추가 연결을 암시적으로 열립니다.If the OLE DB provider you use does not support more than one DataReader on a single connection, the provider implicitly opens an additional connection for each.

경우는 OleDbConnection 이동의 범위, 닫혀 있지 않습니다.If the OleDbConnection goes out of scope, it is not closed. 따라서 명시적으로 닫아야 연결 호출 하 여 Close 또는 Dispose, 또는 사용 하 여 합니다 OleDbConnection 내에서 개체를 Using 문.Therefore, you must explicitly close the connection by calling Close or Dispose, or by using the OleDbConnection object within a Using statement.

참고

고성능 애플리케이션을 배포 하려면 연결 풀링을 사용 해야 합니다.To deploy high-performance applications, you must use connection pooling. .NET Framework Data Provider for OLE DB를 사용 하면 공급자를 자동으로이 관리 하기 때문에 연결 풀링을 사용 하도록 필요가 없습니다.When you use the .NET Framework Data Provider for OLE DB, you do not have to enable connection pooling because the provider manages this automatically. 연결을 사용 하는 방법에 대 한 자세한 내용은 참조는.NET Framework Data Provider for OLE DB 풀링을 OLE DB, ODBC 및 Oracle 연결 풀링합니다.For more information about how to use connection pooling with the .NET Framework Data Provider for OLE DB, see OLE DB, ODBC, and Oracle Connection Pooling.

심각한 OleDbException (예: SQL Server 심각도 수준이 20 이상인 경우) 메서드를 실행 하 여 생성 되는 OleDbCommandOleDbConnection 닫혀 있을 수 있습니다.If a fatal OleDbException (for example, a SQL Server severity level of 20 or greater) is generated by the method executing an OleDbCommand, the OleDbConnection might be closed. 그러나 사용자는 연결을 다시 열고 계속할 수 있습니다.However, the user can reopen the connection and continue.

인스턴스를 만드는 애플리케이션을 OleDbConnection 개체는 모든 직접 및 간접 호출자가 선언적 또는 명령적 보안이 요구를 설정 하 여 코드에 충분 한 권한이 필요할 수 있습니다.An application that creates an instance of the OleDbConnection object can require all direct and indirect callers to have sufficient permission to the code by setting declarative or imperative security demands. OleDbConnection 보안 요청을 사용 하 여 OleDbPermission 개체입니다.OleDbConnection makes security demands using the OleDbPermission object. 사용자가 해당 코드를 사용 하 여 충분 한 권한이 있는지 확인할 수는 OleDbPermissionAttribute 개체입니다.Users can verify that their code has sufficient permissions by using the OleDbPermissionAttribute object. 사용자와 관리자가 이용할 수 있습니다 합니다 Caspol.exe (코드 액세스 보안 정책 도구) 컴퓨터, 사용자 및 엔터프라이즈 수준 보안 정책을 수정할 수 있습니다.Users and administrators can also use the Caspol.exe (Code Access Security Policy Tool) to modify security policy at the computer, user, and enterprise levels. 자세한 내용은 Code Access Security and ADO.NET을 참조하세요.For more information, see Code Access Security and ADO.NET.

데이터 서버에서 경고 및 정보 메시지를 처리 하는 방법에 대 한 자세한 내용은 참조 하세요. 연결 이벤트합니다.For more information about handling warning and informational messages from the data server, see Connection Events.

참고

OleDbConnection 개체가 설정 또는 OLE DB 공급자에 관련 된 동적 속성 검색을 지원 하지 않습니다.The OleDbConnection object does not support setting or retrieving dynamic properties specific to an OLE DB provider. OLE DB 공급자의 연결 문자열에 전달할 수 있는 속성만 지원됩니다.Only properties that can be passed in the connection string for the OLE DB provider are supported.

생성자

OleDbConnection() OleDbConnection() OleDbConnection() OleDbConnection()

OleDbConnection 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the OleDbConnection class.

OleDbConnection(String) OleDbConnection(String) OleDbConnection(String) OleDbConnection(String)

지정된 연결 문자열을 사용하여 OleDbConnection 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the OleDbConnection class with the specified connection string.

속성

CanRaiseEvents CanRaiseEvents CanRaiseEvents CanRaiseEvents

구성 요소가 이벤트를 발생시킬 수 있는지 여부를 나타내는 값을 가져옵니다.Gets a value indicating whether the component can raise an event.

(Inherited from Component)
ConnectionString ConnectionString ConnectionString ConnectionString

데이터베이스를 여는 데 사용되는 문자열을 가져오거나 설정합니다.Gets or sets the string used to open a database.

ConnectionTimeout ConnectionTimeout ConnectionTimeout ConnectionTimeout

시도를 종료하고 오류를 생성하기 전에 연결하는 동안 대기할 시간을 가져옵니다.Gets the time to wait while trying to establish a connection before terminating the attempt and generating an error.

Container Container Container Container

IContainer가 포함된 Component를 가져옵니다.Gets the IContainer that contains the Component.

(Inherited from Component)
Database Database Database Database

현재 데이터베이스 이름이나 연결이 열린 후 사용할 데이터베이스의 이름을 가져옵니다.Gets the name of the current database or the database to be used after a connection is opened.

DataSource DataSource DataSource DataSource

데이터 소스의 파일 이름 또는 서버 이름을 가져옵니다.Gets the server name or file name of the data source.

DesignMode DesignMode DesignMode DesignMode

Component가 현재 디자인 모드인지 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether the Component is currently in design mode.

(Inherited from Component)
Events Events Events Events

Component에 연결된 이벤트 처리기의 목록을 가져옵니다.Gets the list of event handlers that are attached to this Component.

(Inherited from Component)
Provider Provider Provider Provider

연결 문자열의 "Provider= " 절에 지정된 OLE DB 공급자 이름을 가져옵니다.Gets the name of the OLE DB provider specified in the "Provider= " clause of the connection string.

ServerVersion ServerVersion ServerVersion ServerVersion

클라이언트가 연결되는 서버 버전을 포함하는 문자열을 가져옵니다.Gets a string that contains the version of the server to which the client is connected.

Site Site Site Site

ComponentISite를 가져오거나 설정합니다.Gets or sets the ISite of the Component.

(Inherited from Component)
State State State State

연결의 현재 상태를 가져옵니다.Gets the current state of the connection.

메서드

BeginTransaction() BeginTransaction() BeginTransaction() BeginTransaction()

현재 IsolationLevel 값을 사용하여 데이터베이스 트랜잭션을 시작합니다.Starts a database transaction with the current IsolationLevel value.

BeginTransaction(IsolationLevel) BeginTransaction(IsolationLevel) BeginTransaction(IsolationLevel) BeginTransaction(IsolationLevel)

지정된 격리 수준으로 데이터베이스 트랜잭션을 시작합니다.Starts a database transaction with the specified isolation level.

ChangeDatabase(String) ChangeDatabase(String) ChangeDatabase(String) ChangeDatabase(String)

열려 있는 OleDbConnection의 현재 데이터베이스를 변경합니다.Changes the current database for an open OleDbConnection.

Close() Close() Close() Close()

데이터 소스에 대한 연결을 닫습니다.Closes the connection to the data source.

CreateCommand() CreateCommand() CreateCommand() CreateCommand()

OleDbCommand과 관련된 OleDbConnection 개체를 만들거나 반환합니다.Creates and returns an OleDbCommand object associated with the OleDbConnection.

CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type)

원격 개체와 통신하는 데 사용되는 프록시 생성에 필요한 모든 관련 정보가 들어 있는 개체를 만듭니다.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Inherited from MarshalByRefObject)
Dispose() Dispose() Dispose() Dispose()

Component에서 사용하는 모든 리소스를 해제합니다.Releases all resources used by the Component.

(Inherited from Component)
Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

Component에서 사용하는 관리되지 않는 리소스를 해제하고, 관리되는 리소스를 선택적으로 해제할 수 있습니다.Releases the unmanaged resources used by the Component and optionally releases the managed resources.

(Inherited from Component)
EnlistDistributedTransaction(ITransaction) EnlistDistributedTransaction(ITransaction) EnlistDistributedTransaction(ITransaction) EnlistDistributedTransaction(ITransaction)

지정된 트랜잭션에 분산 트랜잭션으로 참여합니다.Enlists in the specified transaction as a distributed transaction.

EnlistTransaction(Transaction) EnlistTransaction(Transaction) EnlistTransaction(Transaction) EnlistTransaction(Transaction)

지정된 트랜잭션에 분산 트랜잭션으로 참여합니다.Enlists in the specified transaction as a distributed transaction.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

지정한 개체와 현재 개체가 같은지 여부를 확인합니다.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

(Inherited from Object)
GetLifetimeService() GetLifetimeService() GetLifetimeService() GetLifetimeService()

이 인스턴스의 수명 정책을 제어하는 현재의 수명 서비스 개체를 검색합니다.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
GetOleDbSchemaTable(Guid, Object[]) GetOleDbSchemaTable(Guid, Object[]) GetOleDbSchemaTable(Guid, Object[]) GetOleDbSchemaTable(Guid, Object[])

GUID에 의해 지정된 대로, 지정된 제한을 적용한 후 데이터 소스로부터 스키마 정보를 반환합니다.Returns schema information from a data source as indicated by a GUID, and after it applies the specified restrictions.

GetSchema() GetSchema() GetSchema() GetSchema()

OleDbConnection의 데이터 소스에 대한 구성표 정보를 반환합니다.Returns schema information for the data source of this OleDbConnection.

GetSchema(String) GetSchema(String) GetSchema(String) GetSchema(String)

스키마 이름에 대해 지정된 문자열을 사용하여 이 OleDbConnection의 데이터 소스에 대한 스키마 정보를 반환합니다.Returns schema information for the data source of this OleDbConnection using the specified string for the schema name.

GetSchema(String, String[]) GetSchema(String, String[]) GetSchema(String, String[]) GetSchema(String, String[])

스키마 이름에 대해 지정된 문자열과 제한 값에 대해 지정된 문자열 배열을 사용하여 이 OleDbConnection의 데이터 소스에 대한 스키마 정보를 반환합니다.Returns schema information for the data source of this OleDbConnection using the specified string for the schema name and the specified string array for the restriction values.

GetService(Type) GetService(Type) GetService(Type) GetService(Type)

Component 또는 해당 Container에서 제공하는 서비스를 나타내는 개체를 반환합니다.Returns an object that represents a service provided by the Component or by its Container.

(Inherited from Component)
GetType() GetType() GetType() GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(Inherited from Object)
InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService()

이 인스턴스의 수명 정책을 제어하는 수명 서비스 개체를 가져옵니다.Obtains a lifetime service object to control the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(Inherited from Object)
MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean)

현재 MarshalByRefObject 개체의 단순 복사본을 만듭니다.Creates a shallow copy of the current MarshalByRefObject object.

(Inherited from MarshalByRefObject)
Open() Open() Open() Open()

ConnectionString로 지정된 속성 설정을 사용하여 데이터베이스 연결을 엽니다.Opens a database connection with the property settings specified by the ConnectionString.

ReleaseObjectPool() ReleaseObjectPool() ReleaseObjectPool() ReleaseObjectPool()

마지막 기본 연결이 해제될 때 OleDbConnection 개체 풀이 해제될 수 있음을 나타냅니다.Indicates that the OleDbConnection object pool can be released when the last underlying connection is released.

ResetState() ResetState() ResetState() ResetState()

State 개체의 OleDbConnection 속성을 업데이트합니다.Updates the State property of the OleDbConnection object.

ToString() ToString() ToString() ToString()

Component의 이름이 포함된 String을 반환합니다(있는 경우).Returns a String containing the name of the Component, if any. 이 메서드는 재정의할 수 없습니다.This method should not be overridden.

(Inherited from Component)

이벤트

Disposed Disposed Disposed Disposed

Dispose() 메서드를 호출하여 구성 요소가 삭제되는 경우 발생합니다.Occurs when the component is disposed by a call to the Dispose() method.

(Inherited from Component)
InfoMessage InfoMessage InfoMessage InfoMessage

공급자가 경고나 정보 메시지를 보내면 발생합니다.Occurs when the provider sends a warning or an informational message.

StateChange StateChange StateChange StateChange

명시적 인터페이스 구현

ICloneable.Clone() ICloneable.Clone() ICloneable.Clone() ICloneable.Clone()

이 멤버에 대한 설명은 Clone()를 참조하십시오.For a description of this member, see Clone().

IDbConnection.BeginTransaction() IDbConnection.BeginTransaction() IDbConnection.BeginTransaction() IDbConnection.BeginTransaction()

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

IDbConnection.BeginTransaction(IsolationLevel) IDbConnection.BeginTransaction(IsolationLevel) IDbConnection.BeginTransaction(IsolationLevel) IDbConnection.BeginTransaction(IsolationLevel)

지정된 격리 수준으로 데이터베이스 트랜잭션을 시작합니다.Begins a database transaction with the specified isolation level.

IDbConnection.CreateCommand() IDbConnection.CreateCommand() IDbConnection.CreateCommand() IDbConnection.CreateCommand()

연결과 관련된 명령 개체를 만들고 반환합니다.Creates and returns a command object associated with the connection.

적용 대상

추가 정보