OracleConnection 类

定义

注意

OracleConnection has been deprecated. http://go.microsoft.com/fwlink/?LinkID=144260

表示一个到数据库的打开的连接。 此类不能被继承。

public ref class OracleConnection sealed : System::ComponentModel::Component, ICloneable, IDisposable, System::Data::IDbConnection
public ref class OracleConnection sealed : System::Data::Common::DbConnection, ICloneable
public sealed class OracleConnection : System.ComponentModel.Component, ICloneable, IDisposable, System.Data.IDbConnection
public sealed class OracleConnection : System.Data.Common.DbConnection, ICloneable
[System.Obsolete("OracleConnection has been deprecated. http://go.microsoft.com/fwlink/?LinkID=144260", false)]
public sealed class OracleConnection : System.Data.Common.DbConnection, ICloneable
type OracleConnection = class
    inherit Component
    interface ICloneable
    interface IDbConnection
    interface IDisposable
type OracleConnection = class
    inherit DbConnection
    interface ICloneable
[<System.Obsolete("OracleConnection has been deprecated. http://go.microsoft.com/fwlink/?LinkID=144260", false)>]
type OracleConnection = class
    inherit DbConnection
    interface ICloneable
Public NotInheritable Class OracleConnection
Inherits Component
Implements ICloneable, IDbConnection, IDisposable
Public NotInheritable Class OracleConnection
Inherits DbConnection
Implements ICloneable
继承
继承
属性
实现

示例

以下示例创建 OracleCommandOracleConnectionOracleConnection将 打开并设置为 OracleCommand.Connection 属性。 然后,该示例调用 ExecuteNonQuery并关闭连接。 为此,向 ExecuteNonQuery 传递了一个连接字符串和一个作为 SQL INSERT 语句的查询字符串。

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的未来版本中删除。 有关详细信息,请参阅 Oracle 和 ADO.NET

对象 OracleConnection 表示与 Oracle 数据库的唯一连接。 对于客户端/服务器数据库系统,它等效于与服务器的网络连接。

创建对象实例 OracleConnection 的应用程序可以设置声明性或命令性安全要求,要求所有直接和间接调用方对代码具有足够的权限。 OracleConnection 使用 OraclePermission 对象创建安全要求。 用户可以使用 对象验证其代码是否具有足够的权限 OraclePermissionAttribute 。 用户和管理员还可以使用代码访问安全策略工具 (Caspol.exe) 在计算机、用户和企业级别修改安全策略。 有关详细信息,请参阅安全性

注意

与其他.NET Framework数据访问接口 (SQL Server的 Connection 对象不同,OLE DB 和 ODBC) OracleConnection 不支持 ConnectionTimeout 属性。 将连接超时设置为属性或在连接字符串中不起作用,并且返回的值始终为零。 OracleConnection 也不支持 Database 属性或 ChangeDatabase 方法。

OracleConnection如果对象超出范围,它将保持打开状态。 因此,应始终通过调用 CloseDispose 或在 语句中使用 OracleConnectionUsing 对象来关闭 OracleConnection 对象。 否则,垃圾回收可能不会立即释放它们。 如果在等待垃圾回收器删除大量连接时达到最大连接数,则此类延迟可能会导致错误。 相比之下,通过调用 Close 关闭连接会更有效地使用本机资源,增强可伸缩性并提高应用程序的整体性能。 若要确保始终关闭连接,请打开 块内的 Using 连接。

注意

若要部署高性能应用程序,通常需要使用连接池。 但是,使用适用于 Oracle 的 .NET Framework 数据提供程序时,不需要启用连接池,因为提供程序会自动管理此连接池。

构造函数

OracleConnection()
已过时.

初始化 OracleConnection 的新实例。

OracleConnection(String)
已过时.

使用指定的连接字符串初始化 OracleConnection 类的新实例。

属性

CanCreateBatch
已过时.

获取一个值,该值指示此 DbConnection 是否支持 DbBatch 类。

(继承自 DbConnection)
CanRaiseEvents
已过时.

获取一个指示组件是否可以引发事件的值。

(继承自 Component)
ConnectionString
已过时.

获取或设置用于打开 Oracle 数据库的字符串。

ConnectionTimeout
已过时.

获取在建立连接时终止尝试并生成错误之前所等待的时间。

Container
已过时.

获取包含 IContainerComponent

(继承自 Component)
Database
已过时.

获取当前数据库的名称或打开连接后要使用的数据库的名称。

DataSource
已过时.

获取要连接的 Oracle 服务器的名称。

DbProviderFactory
已过时.

获取此 DbProviderFactoryDbConnection

(继承自 DbConnection)
DesignMode
已过时.

获取一个值,用以指示 Component 当前是否处于设计模式。

(继承自 Component)
Events
已过时.

获取附加到此 Component 的事件处理程序的列表。

(继承自 Component)
ServerVersion
已过时.

获取包含客户端所连接到的服务器的版本的字符串。

Site
已过时.

获取或设置 ComponentISite

(继承自 Component)
State
已过时.

获取连接的当前状态。

方法

BeginDbTransaction(IsolationLevel)
已过时.

在派生类中重写时,启动数据库事务。

(继承自 DbConnection)
BeginDbTransactionAsync(IsolationLevel, CancellationToken)
已过时.

异步启动数据库事务。

(继承自 DbConnection)
BeginTransaction()
已过时.

在数据库中开始一个事务。

BeginTransaction(IsolationLevel)
已过时.

使用指定的 IsolationLevel 值在数据库中开始一个事务。

BeginTransactionAsync(CancellationToken)
已过时.

异步开始数据库事务。

(继承自 DbConnection)
BeginTransactionAsync(IsolationLevel, CancellationToken)
已过时.

异步开始数据库事务。

(继承自 DbConnection)
ChangeDatabase(String)
已过时.

更改已打开的 OracleConnection 的当前数据库。

ChangeDatabaseAsync(String, CancellationToken)
已过时.

为打开的连接对象异步更改当前数据库。

(继承自 DbConnection)
ClearAllPools()
已过时.

清空连接池。

ClearPool(OracleConnection)
已过时.

清空与指定连接关联的连接池。

Close()
已过时.

关闭与数据库之间的连接。

CloseAsync()
已过时.

异步关闭与数据库之间的连接。

(继承自 DbConnection)
CreateBatch()
已过时.

返回实现 DbBatch 类的提供程序类的一个新实例。

(继承自 DbConnection)
CreateCommand()
已过时.

创建并返回一个与该 OracleCommand 关联的 OracleConnection 对象。

CreateDbBatch()
已过时.

在派生类中重写时,返回实现 DbBatch 类的提供程序类的新实例。

(继承自 DbConnection)
CreateDbCommand()
已过时.

在派生类中重写时,创建并返回与当前连接关联的 DbCommand 对象。

(继承自 DbConnection)
CreateObjRef(Type)
已过时.

创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。

(继承自 MarshalByRefObject)
Dispose()
已过时.

释放由 Component 使用的所有资源。

(继承自 Component)
Dispose()
已过时.

执行与释放或重置非托管资源关联的应用程序定义的任务。

(继承自 DbConnection)
Dispose(Boolean)
已过时.

释放由 Component 占用的非托管资源,还可以另外再释放托管资源。

(继承自 Component)
Dispose(Boolean)
已过时.

释放由 DbConnection 占用的非托管资源,还可以另外再释放托管资源。

(继承自 DbConnection)
DisposeAsync()
已过时.

异步处置连接对象。

(继承自 DbConnection)
EnlistDistributedTransaction(ITransaction)
已过时.

在指定的事务中登记为分布式事务。

EnlistTransaction(Transaction)
已过时.

在指定的事务中登记为分布式事务。

Equals(Object)
已过时.

确定指定对象是否等于当前对象。

(继承自 Object)
GetHashCode()
已过时.

作为默认哈希函数。

(继承自 Object)
GetLifetimeService()
已过时.

检索控制此实例的生存期策略的当前生存期服务对象。

(继承自 MarshalByRefObject)
GetSchema()
已过时.

返回此 OracleConnection 的数据源的架构信息。

GetSchema(String)
已过时.

通过使用架构名称的指定字符串,返回此 OracleConnection 的数据源的架构信息。

GetSchema(String, String[])
已过时.

通过使用指定字符串作为架构名称,指定字符串数组作为限制值,返回此 OracleConnection 的数据源的架构信息。

GetSchemaAsync(CancellationToken)
已过时.

这是 GetSchema() 的异步版本。 提供程序应使用合适的实现进行重写。 可以选择接受 cancellationToken。 默认实现调用同步 GetSchema() 调用并返回已完成任务。 如果传递到已取消 cancellationToken,则默认实现将返回已取消的任务。 GetSchema() 引发的异常将通过任务异常属性传递。

(继承自 DbConnection)
GetSchemaAsync(String, CancellationToken)
已过时.

这是 GetSchema(String) 的异步版本。 提供程序应使用合适的实现进行重写。 可以选择接受 cancellationToken。 默认实现调用同步 GetSchema(String) 调用并返回已完成任务。 如果传递到已取消 cancellationToken,则默认实现将返回已取消的任务。 GetSchema(String) 引发的异常将通过任务异常属性传递。

(继承自 DbConnection)
GetSchemaAsync(String, String[], CancellationToken)
已过时.

这是 GetSchema(String, String[]) 的异步版本。 提供程序应使用合适的实现进行重写。 可以选择接受 cancellationToken。 默认实现调用同步 GetSchema(String, String[]) 调用并返回已完成任务。 如果传递到已取消 cancellationToken,则默认实现将返回已取消的任务。 GetSchema(String, String[]) 引发的异常将通过任务异常属性传递。

(继承自 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()
已过时.

Open()的异步版本,打开由 ConnectionString指定的设置的数据库连接。 此方法通过 CancellationToken.None 调用虚拟方法 OpenAsync(CancellationToken)

(继承自 DbConnection)
OpenAsync(CancellationToken)
已过时.

这是 Open() 的异步版本。 提供程序应使用合适的实现进行重写。 可选择性接受取消标记。

默认实现调用同步 Open() 调用并返回已完成任务。 如果传递到已取消的取消标记,则默认实现将返回已取消的 cancellationToken。 Open 引发的异常将通过返回的任务异常属性传递。

在返回的任务完成前,不要调用 DbConnection 对象的其他方法和属性。

(继承自 DbConnection)
ToString()
已过时.

返回包含 Component 的名称的 String(如果有)。 不应重写此方法。

(继承自 Component)

事件

Disposed
已过时.

在通过调用 Dispose() 方法释放组件时发生。

(继承自 Component)
InfoMessage
已过时.

当 Oracle 发送警告或信息性消息时发生。

StateChange
已过时.

当连接状态改变时发生。

StateChange
已过时.

当连接状态改变时发生。

(继承自 DbConnection)

显式接口实现

ICloneable.Clone()
已过时.

创建作为当前实例副本的新对象。

IDbConnection.BeginTransaction()
已过时.

开始一项数据库事务。

IDbConnection.BeginTransaction()
已过时.

开始一项数据库事务。

(继承自 DbConnection)
IDbConnection.BeginTransaction(IsolationLevel)
已过时.

以指定的 IsolationLevel 值开始数据库事务。

IDbConnection.BeginTransaction(IsolationLevel)
已过时.

以指定的隔离级别启动数据库事务。

(继承自 DbConnection)
IDbConnection.ChangeDatabase(String)
已过时.

为打开的连接对象更改当前数据库。

IDbConnection.CreateCommand()
已过时.

创建并返回一个与连接关联的命令对象。

IDbConnection.CreateCommand()
已过时.

创建并返回与当前连接关联的 DbCommand 对象。

(继承自 DbConnection)

适用于

另请参阅