OracleConnection 类

表示一个到数据库的打开的连接。无法继承此类。

**命名空间:**System.Data.OracleClient
**程序集:**System.Data.OracleClient(在 system.data.oracleclient.dll 中)

语法

声明
Public NotInheritable Class OracleConnection
    Inherits DbConnection
    Implements ICloneable
用法
Dim instance As OracleConnection
public sealed class OracleConnection : DbConnection, ICloneable
public ref class OracleConnection sealed : public DbConnection, ICloneable
public final class OracleConnection extends DbConnection implements ICloneable
public final class OracleConnection extends DbConnection implements ICloneable

备注

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

创建 OracleConnection 对象的实例的应用程序可设置声明性或命令性安全要求,要求所有直接和间接的调用者都具有访问代码的充分权限。OracleConnection 使用 OraclePermission 对象创建安全要求。用户可以使用 OraclePermissionAttribute 对象验证他们的代码是否具有足够的权限。用户和管理员还可以使用“代码访问安全策略工具”(Caspol.exe) 修改计算机级、用户级和企业级安全策略。有关更多信息,请参见 .NET Framework 中的安全性

提示

与其他 .NET Framework 数据提供程序(SQL Server、OLE DB 和 ODBC)中的 Connection 对象不同,OracleConnection 不支持 ConnectionTimeout 属性。作为属性或在连接字符串中设置连接超时没有效果,而且返回的值总是零。OracleConnection 也不支持 Database 属性或 ChangeDatabase 方法。

应该总是在 OracleConnection 对象超出范围之前通过调用 Close 来显式关闭 OracleConnection 对象,因为垃圾回收可能不会立即释放它们。在最大连接数已达到,而又有许多连接等待由垃圾回收器删除时,这样的延迟会导致错误。相比之下,通过调用 Close 关闭连接可更有效地使用本机资源,从而增强可伸缩性,并改善总体应用程序性能。

提示

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

示例

下面的示例创建一个 OracleCommand 和一个 OracleConnection。将 OracleConnection 打开并将其设置为 OracleCommand.Connection 属性。然后,该示例调用 ExecuteNonQuery 并关闭该连接。为完成此任务,将为 ExecuteNonQuery 传递一个连接字符串和一个查询字符串,后者是一个 SQL INSERT 语句。

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
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);
        }
    }
}
using System;
using System.Data;
using System.Data.OracleClient;

class Class1
{
    static void Main()
    {
    }

    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);
            }
        }
    }

继承层次结构

System.Object
   System.MarshalByRefObject
     System.ComponentModel.Component
       System.Data.Common.DbConnection
        System.Data.OracleClient.OracleConnection

线程安全

此类型的任何公共静态(Visual Basic 中的 Shared)成员都是线程安全的,但不保证所有实例成员都是线程安全的。

平台

Windows 98、Windows 2000 SP4、Windows Millennium Edition、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1

请参见

参考

OracleConnection 成员
System.Data.OracleClient 命名空间
OracleDataAdapter
OracleCommand 类