OracleConnection 클래스

정의

경고

이 API는 현재 사용되지 않습니다.

데이터베이스에 대한 열린 연결을 나타냅니다.Represents an open connection to a database. 이 클래스는 상속될 수 없습니다.This class cannot be inherited.

public ref class OracleConnection sealed : System::Data::Common::DbConnection, ICloneable
[System.Obsolete("OracleConnection has been deprecated. https://go.microsoft.com/fwlink/?LinkID=144260", false)]
public sealed class OracleConnection : System.Data.Common.DbConnection, ICloneable
type OracleConnection = class
    inherit DbConnection
    interface ICloneable
Public NotInheritable Class OracleConnection
Inherits DbConnection
Implements ICloneable
상속
특성
구현

예제

다음 예에서는 OracleCommandOracleConnection를 만듭니다.The following example creates an OracleCommand and an OracleConnection. OracleConnection 열리고 OracleCommand.Connection 속성으로 설정 됩니다.The OracleConnection is opened and set as the OracleCommand.Connection property. 이 예제에서는 호출 ExecuteNonQuery, 연결을 닫습니다.The example then calls ExecuteNonQuery, and closes the connection. 이를 위해 ExecuteNonQuery에는 연결 문자열과 SQL INSERT 문인 쿼리 문자열이 전달 됩니다.To accomplish this, the ExecuteNonQuery is passed a connection string and a query string that is an SQL INSERT statement.

public void InsertRow(string connectionString)
{
    string queryString = 
        "INSERT INTO Dept (DeptNo, Dname, Loc) values (50, 'TECHNOLOGY', 'DENVER')";
    using (OracleConnection connection = new OracleConnection(connectionString))
    {
        OracleCommand command = new OracleCommand(queryString);
        command.Connection = connection;
        try
        {
            connection.Open();
            command.ExecuteNonQuery();
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
    }
}
Public Sub InsertRow(ByVal connectionString As String)
    Dim queryString As String = _
      "INSERT INTO Dept (DeptNo, Dname, Loc) values (50, 'TECHNOLOGY', 'DENVER')"

    Using connection As New OracleConnection(connectionString)
        Dim command As New OracleCommand(queryString)
        command.Connection = connection
        Try
            connection.Open()
            command.ExecuteNonQuery()
        Catch ex As Exception
            Console.WriteLine(ex.Message)
        End Try
    End Using
End Sub

설명

이 형식은 사용 되지 않으며.NET Framework의 이후 버전에서 제거 됩니다.This type is deprecated and will be removed in a future version of the .NET Framework. 자세한 내용은 Oracle 및 ADO.NET합니다.For more information, see Oracle and ADO.NET.

OracleConnection 개체는 Oracle 데이터베이스에 대 한 고유 연결을 나타냅니다.An OracleConnection object represents a unique connection to an Oracle database. 클라이언트/서버 데이터베이스 시스템의 경우 서버에 대 한 네트워크 연결에 해당 합니다.In the case of a client/server database system, it is equivalent to a network connection to the server.

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

참고

다른 .NET Framework 데이터 공급자 (SQL Server, OLE DB 및 ODBC)의 Connection 개체와 달리 OracleConnectionConnectionTimeout 속성을 지원 하지 않습니다.Unlike the Connection object in the other .NET Framework data providers (SQL Server, OLE DB, and ODBC), OracleConnection does not support a ConnectionTimeout property. 연결 제한 시간을 속성으로 설정 하거나 연결 문자열에서 설정 하면 아무런 효과가 없으며 반환 되는 값은 항상 0입니다.Setting a connection time-out either as a property or in the connection string has no effect, and the value returned is always zero. 또한 OracleConnection Database 속성 또는 ChangeDatabase 메서드를 지원 하지 않습니다.OracleConnection also does not support a Database property or a ChangeDatabase method.

OracleConnection 개체가 범위를 벗어나면 열려 있는 상태로 유지 됩니다.If the OracleConnection object goes out of scope, it remains open. 따라서 항상 Close 또는 Dispose를 호출 하거나 Using 문 내에서 OracleConnection 개체를 사용 하 여 OracleConnection 개체를 닫아야 합니다.Therefore, you should always close OracleConnection objects by calling Close or Dispose, or by using the OracleConnection object within a Using statement. 그렇지 않으면 가비지 수집에서 즉시 해제 하지 못할 수 있습니다.Otherwise, the garbage collection might not free them immediately. 가비지 수집기에서 많은 연결을 삭제 하기 위해 대기 하는 동안 최대 연결 수에 도달 하면 이러한 지연으로 인해 오류가 발생할 수 있습니다.Such delays can cause errors if the maximum number of connections is reached while a number of connections are waiting to be deleted by the garbage collector. 반면, 호출 하 여 연결을 닫는 Close 확장성을 향상 하 고 전체 애플리케이션 성능을 향상 네이티브 리소스를 보다 효율적으로 사용 합니다.By contrast, closing the connections by calling Close uses native resources more efficiently, enhancing scalability and improving overall application performance. 연결이 항상 닫혀 있는지 확인 하려면 Using 블록 내부에서 연결을 엽니다.To ensure that connections are always closed, open the connection inside of a Using block.

참고

고성능 애플리케이션을 배포 하려면 연결 풀링을 사용 해야 하는 경우가 많습니다.To deploy high-performance applications, you often need to use connection pooling. 그러나.NET Framework Data Provider for Oracle을 사용 하면 필요가 없습니다 공급자에서 관리 하기 때문이 자동으로 연결 풀링을 사용 하도록 설정 합니다.However, when you use the .NET Framework Data Provider for Oracle, you do not need to enable connection pooling because the provider manages this automatically.

생성자

OracleConnection()

OracleConnection의 새 인스턴스를 초기화합니다.Initializes a new instance of the OracleConnection.

OracleConnection(String)

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

속성

CanRaiseEvents

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

(다음에서 상속됨 Component)
ConnectionString

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

ConnectionTimeout

시도를 종료하고 오류를 생성하기 전까지 연결하기 위해 대기할 시간을 가져옵니다.Gets the time to wait 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

연결할 Oracle 서버의 이름을 가져옵니다.Gets the name of the Oracle server to which to connect.

DbProviderFactory

DbProviderFactoryDbConnection를 가져옵니다.Gets the DbProviderFactory for this DbConnection.

(다음에서 상속됨 DbConnection)
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)
ServerVersion

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

Site

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

(다음에서 상속됨 Component)
State

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

메서드

BeginDbTransaction(IsolationLevel)

파생 클래스에서 재정의되는 경우 데이터베이스 트랜잭션을 시작합니다.When overridden in a derived class, starts a database transaction.

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

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

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

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

BeginTransaction(IsolationLevel)

지정된 IsolationLevel 값을 사용하여 데이터베이스에서 트랜잭션을 시작합니다.Begins a transaction at the database with the specified IsolationLevel value.

BeginTransactionAsync(CancellationToken)

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

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

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

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

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

ChangeDatabaseAsync(String, CancellationToken)

열려 있는 연결의 현재 데이터베이스를 비동기적으로 변경합니다.Asynchronously changes the current database for an open connection.

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

연결 풀을 비웁니다.Empties the connection pool.

ClearPool(OracleConnection)

지정된 연결과 관련된 연결 풀을 비웁니다.Empties the connection pool associated with the specified connection.

Close()

데이터베이스에 대한 연결을 닫습니다.Closes the connection to the database.

CloseAsync()

데이터베이스에 대한 연결을 비동기적으로 닫습니다.Asynchronously closes the connection to the database.

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

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

CreateDbCommand()

파생 클래스에서 재정의되는 경우 현재 연결과 관련된 DbCommand 개체를 만들고 반환합니다.When overridden in a derived class, creates and returns a DbCommand object associated with the current connection.

(다음에서 상속됨 DbConnection)
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)
DisposeAsync()

연결 개체를 비동기적으로 삭제합니다.Asynchronously diposes the connection object.

(다음에서 상속됨 DbConnection)
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)
GetSchema()

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

GetSchema(String)

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

GetSchema(String, String[])

스키마 이름에 대해 지정된 문자열과 제한 값에 대해 지정된 문자열 배열을 사용하여 이 OracleConnection의 데이터 소스에 대한 스키마 정보를 반환합니다.Returns schema information for the data source of this OracleConnection 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)
OnStateChange(StateChangeEventArgs)

StateChange 이벤트를 발생시킵니다.Raises the StateChange event.

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

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

OpenAsync()

Open()으로 지정된 설정을 사용하여 데이터베이스 연결을 여는 ConnectionString의 비동기 버전입니다.An asynchronous version of Open(), which opens a database connection with the settings specified by the ConnectionString. 이 메서드는 CancellationToken.None을 사용하여 가상 메서드 OpenAsync(CancellationToken)를 호출합니다.This method invokes the virtual method OpenAsync(CancellationToken) with CancellationToken.None.

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

Open()의 비동기 버전입니다.This is the asynchronous version of Open(). 공급자는 적절한 구현을 재정의해야 합니다.Providers should override with an appropriate implementation. 취소 토큰은 선택적으로 적용될 수 있습니다.The cancellation token can optionally be honored.

기본 구현은 동기 Open() 호출을 호출하고 완료된 작업을 반환합니다.The default implementation invokes the synchronous Open() call and returns a completed task. 기본 구현은 이미 취소된 cancellationToken을 전달하는 경우 취소된 작업을 반환합니다.The default implementation will return a cancelled task if passed an already cancelled cancellationToken. Open에서 throw되는 예외는 반환된 Task Exception 속성을 통해 전달됩니다.Exceptions thrown by Open will be communicated via the returned Task Exception property.

반환된 작업이 완료될 때까지 DbConnection 개체의 다른 메서드 및 속성을 호출하지 마십시오.Do not invoke other methods and properties of the DbConnection object until the returned Task is complete.

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

String의 이름이 포함된 Component을 반환합니다(있는 경우).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

Oracle에서 경고나 정보 메시지를 보내면 발생합니다.Occurs when Oracle sends a warning or an informational message.

StateChange

연결 상태가 변경될 때 발생합니다.Occurs when the state of the connection changes.

명시적 인터페이스 구현

ICloneable.Clone()

현재 인스턴스의 복사본인 새 개체를 만듭니다.Creates a new object that is a copy of the current instance.

IDbConnection.BeginTransaction()

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

IDbConnection.BeginTransaction(IsolationLevel)

지정된 IsolationLevel 값을 사용하여 데이터베이스 트랜잭션을 시작합니다.Begins a database transaction with the specified IsolationLevel value.

IDbConnection.ChangeDatabase(String)

열려 있는 연결 개체의 현재 데이터베이스를 변경합니다.Changes the current database for an open Connection object.

IDbConnection.CreateCommand()

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

적용 대상

추가 정보