OleDbConnection 클래스

정의

데이터 소스에 대해 열려 있는 연결을 나타냅니다.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.

단일 OleDbConnection에서 하나 이상의 DataReader를 열 수 있습니다.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를 호출 하거나 Using 문 내에서 OleDbConnection 개체를 사용 하 여 연결을 명시적으로 닫아야 합니다.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. OLE DB에 대 한 .NET Framework Data Provider를 사용 하는 경우 공급자가이를 자동으로 관리 하므로 연결 풀링을 사용 하도록 설정할 필요가 없습니다.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. OLE DB에 대 한 .NET Framework Data Provider에서 연결 풀링을 사용 하는 방법에 대 한 자세한 내용은 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.

OleDbCommand실행 되는 메서드에서 심각한 OleDbException (예: 20 개 이상의 SQL Server 심각도)가 생성 되는 경우 OleDbConnection 닫힐 수 있습니다.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 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the OleDbConnection class.

OleDbConnection(String)

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

속성

CanRaiseEvents

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

(다음에서 상속됨 Component)
ConnectionString

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

ConnectionTimeout

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

Container

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

(다음에서 상속됨 Component)
Database

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

DataSource

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

DesignMode

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

(다음에서 상속됨 Component)
Events

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

(다음에서 상속됨 Component)
Provider

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

ServerVersion

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

Site

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

(다음에서 상속됨 Component)
State

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

메서드

BeginTransaction()

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

BeginTransaction(IsolationLevel)

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

ChangeDatabase(String)

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

Close()

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

CreateCommand()

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

CreateObjRef(Type)

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

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

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

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

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

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

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

EnlistTransaction(Transaction)

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

Equals(Object)

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

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

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

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

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

(다음에서 상속됨 MarshalByRefObject)
GetOleDbSchemaTable(Guid, Object[])

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

GetSchema()

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

GetSchema(String)

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

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)

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

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

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

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

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

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

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

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

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

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

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

ReleaseObjectPool()

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

ResetState()

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

ToString()

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

(다음에서 상속됨 Component)

이벤트

Disposed

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

(다음에서 상속됨 Component)
InfoMessage

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

StateChange

명시적 인터페이스 구현

ICloneable.Clone()

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

IDbConnection.BeginTransaction()

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

IDbConnection.BeginTransaction(IsolationLevel)

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

IDbConnection.CreateCommand()

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

적용 대상

추가 정보