Compartir a través de


OleDbConnection Clase

Definición

Representa una conexión abierta a un origen de datos.

public ref class OleDbConnection sealed : System::Data::Common::DbConnection, ICloneable, IDisposable
public ref class OleDbConnection sealed : System::ComponentModel::Component, ICloneable, IDisposable, System::Data::IDbConnection
public ref class OleDbConnection sealed : System::Data::Common::DbConnection, ICloneable
public sealed class OleDbConnection : System.Data.Common.DbConnection, ICloneable, IDisposable
public sealed class OleDbConnection : System.ComponentModel.Component, ICloneable, IDisposable, System.Data.IDbConnection
public sealed class OleDbConnection : System.Data.Common.DbConnection, ICloneable
type OleDbConnection = class
    inherit DbConnection
    interface ICloneable
    interface IDbConnection
    interface IDisposable
type OleDbConnection = class
    inherit Component
    interface ICloneable
    interface IDbConnection
    interface IDisposable
type OleDbConnection = class
    inherit DbConnection
    interface IDbConnection
    interface IDisposable
    interface ICloneable
Public NotInheritable Class OleDbConnection
Inherits DbConnection
Implements ICloneable, IDisposable
Public NotInheritable Class OleDbConnection
Inherits Component
Implements ICloneable, IDbConnection, IDisposable
Public NotInheritable Class OleDbConnection
Inherits DbConnection
Implements ICloneable
Herencia
Herencia
Implementaciones

Ejemplos

En el ejemplo siguiente se crea un OleDbCommand y un OleDbConnection. El OleDbConnection se abre y se establece como Connection para el OleDbCommand. A continuación, el ejemplo llama a ExecuteNonQuery y cierra la conexión. Para ello, ExecuteNonQuery se pasa una cadena de conexión y una cadena de consulta que es una instrucción INSERT de SQL.

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

Comentarios

Un objeto OleDbConnection representa una conexión única a un origen de datos. Con un sistema de base de datos cliente/servidor, es equivalente a una conexión de red al servidor. Según la funcionalidad admitida por el proveedor OLE DB nativo, es posible que algunos métodos o propiedades de un objeto OleDbConnection no estén disponibles.

Al crear una instancia de OleDbConnection, todas las propiedades se establecen en sus valores iniciales. Para obtener una lista de estos valores, consulte el constructor OleDbConnection.

Puede abrir más de un dataReader en una sola OleDbConnection. Si el proveedor OLE DB que usa no admite más de un DataReader en una sola conexión, el proveedor abre implícitamente una conexión adicional para cada una.

Si el OleDbConnection sale del ámbito, no se cierra. Por lo tanto, debe cerrar explícitamente la conexión llamando a Close o Dispose, o mediante el objeto OleDbConnection dentro de una instrucción Using.

Nota

Para implementar aplicaciones de alto rendimiento, debe usar la agrupación de conexiones. Cuando se usa el proveedor de datos de .NET Framework para OLE DB, no es necesario habilitar la agrupación de conexiones porque el proveedor lo administra automáticamente. Para obtener más información sobre cómo usar la agrupación de conexiones con el proveedor de datos de .NET Framework para OLE DB, vea OLE DB, ODBC y Oracle Connection Pooling.

Si un OleDbException irrecuperable (por ejemplo, un nivel de gravedad de SQL Server de 20 o superior) lo genera el método que ejecuta una OleDbCommand, es posible que se cierre el OleDbConnection. Sin embargo, el usuario puede volver a abrir la conexión y continuar.

Una aplicación que crea una instancia del objeto OleDbConnection puede requerir que todos los autores de llamadas directos e indirectos tengan permiso suficiente para el código estableciendo demandas de seguridad declarativas o imperativas. OleDbConnection hace demandas de seguridad mediante el objeto OleDbPermission. Los usuarios pueden comprobar que su código tiene permisos suficientes mediante el objeto OleDbPermissionAttribute. Los usuarios y administradores también pueden usar el Caspol.exe (Herramienta de directiva de seguridad de acceso de código) para modificar la directiva de seguridad en los niveles de equipo, usuario y empresa. Para obtener más información, consulte Seguridad de acceso a código y ADO.NET.

Para obtener más información sobre cómo controlar mensajes informativos e de advertencia desde el servidor de datos, consulte Eventos de conexión.

Nota

El objeto OleDbConnection no admite la configuración ni la recuperación de propiedades dinámicas específicas de un proveedor OLE DB. Solo se admiten las propiedades que se pueden pasar en la cadena de conexión del proveedor OLE DB.

Constructores

OleDbConnection()

Inicializa una nueva instancia de la clase OleDbConnection.

OleDbConnection(String)

Inicializa una nueva instancia de la clase OleDbConnection con la cadena de conexión especificada.

Propiedades

CanCreateBatch

Obtiene un valor que indica si esta instancia de DbConnection admite la clase DbBatch.

(Heredado de DbConnection)
CanRaiseEvents

Obtiene un valor que indica si el componente puede generar un evento.

(Heredado de Component)
ConnectionString

Obtiene o establece la cadena utilizada para abrir una base de datos.

ConnectionTimeout

Obtiene el tiempo de espera (en segundos) al intentar establecer una conexión antes de finalizar el intento y generar un error.

Container

Obtiene el IContainer que contiene el Component.

(Heredado de Component)
Database

Obtiene el nombre de la base de datos actual o de la base de datos que se va a usar después de abrir una conexión.

DataSource

Obtiene el nombre del servidor o el nombre de archivo del origen de datos.

DbProviderFactory

Obtiene el DbProviderFactory de este DbConnection.

(Heredado de DbConnection)
DesignMode

Obtiene un valor que indica si el Component está actualmente en modo de diseño.

(Heredado de Component)
Events

Obtiene la lista de controladores de eventos que están asociados a este Component.

(Heredado de Component)
Provider

Obtiene el nombre del proveedor OLE DB especificado en la cláusula "Provider= " de la cadena de conexión.

ServerVersion

Obtiene una cadena que contiene la versión del servidor al que está conectado el cliente.

Site

Obtiene o establece el ISite del Component.

(Heredado de Component)
State

Obtiene el estado actual de la conexión.

Métodos

BeginDbTransaction(IsolationLevel)

Cuando se invalida en una clase derivada, inicia una transacción de base de datos.

(Heredado de DbConnection)
BeginDbTransactionAsync(IsolationLevel, CancellationToken)

Inicia de forma asincrónica una transacción de base de datos.

(Heredado de DbConnection)
BeginTransaction()

Inicia una transacción de base de datos con el valor de IsolationLevel actual.

BeginTransaction(IsolationLevel)

Inicia una transacción de base de datos con el nivel de aislamiento especificado.

BeginTransactionAsync(CancellationToken)

Inicia de forma asincrónica una transacción de base de datos.

(Heredado de DbConnection)
BeginTransactionAsync(IsolationLevel, CancellationToken)

Inicia de forma asincrónica una transacción de base de datos.

(Heredado de DbConnection)
ChangeDatabase(String)

Cambia la base de datos actual de un OleDbConnectionabierto.

ChangeDatabaseAsync(String, CancellationToken)

Cambia de forma asincrónica la base de datos actual para una conexión abierta.

(Heredado de DbConnection)
Close()

Cierra la conexión al origen de datos.

CloseAsync()

Cierra de forma asincrónica la conexión a la base de datos.

(Heredado de DbConnection)
CreateBatch()

Devuelve una nueva instancia de la clase del proveedor que implementa la clase DbBatch.

(Heredado de DbConnection)
CreateCommand()

Crea y devuelve un objeto OleDbCommand asociado al OleDbConnection.

CreateDbBatch()

Cuando se reemplaza en una clase derivada, devuelve una nueva instancia de la clase del proveedor que implementa la clase DbBatch.

(Heredado de DbConnection)
CreateDbCommand()

Cuando se reemplaza en una clase derivada, crea y devuelve un objeto DbCommand asociado a la conexión actual.

(Heredado de DbConnection)
CreateObjRef(Type)

Crea un objeto que contiene toda la información pertinente necesaria para generar un proxy usado para comunicarse con un objeto remoto.

(Heredado de MarshalByRefObject)
Dispose()

Realiza tareas definidas por la aplicación asociadas a la liberación, liberación o restablecimiento de recursos no administrados.

(Heredado de DbConnection)
Dispose()

Libera todos los recursos usados por el Component.

(Heredado de Component)
Dispose(Boolean)

Libera los recursos no administrados usados por el DbConnection y, opcionalmente, libera los recursos administrados.

(Heredado de DbConnection)
Dispose(Boolean)

Libera los recursos no administrados usados por el Component y, opcionalmente, libera los recursos administrados.

(Heredado de Component)
DisposeAsync()

De forma asincrónica se dipa el objeto de conexión.

(Heredado de DbConnection)
EnlistDistributedTransaction(ITransaction)

Se inscribe en la transacción especificada como una transacción distribuida.

EnlistTransaction(Transaction)

Se inscribe en la transacción especificada como una transacción distribuida.

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
GetHashCode()

Actúa como función hash predeterminada.

(Heredado de Object)
GetLifetimeService()
Obsoletos.

Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia.

(Heredado de MarshalByRefObject)
GetOleDbSchemaTable(Guid, Object[])

Devuelve información de esquema de un origen de datos tal como se indica en un GUID y después de aplicar las restricciones especificadas.

GetSchema()

Devuelve información de esquema para el origen de datos de este OleDbConnection.

GetSchema(String)

Devuelve información de esquema para el origen de datos de este OleDbConnection utilizando la cadena especificada para el nombre del esquema.

GetSchema(String, String[])

Devuelve información de esquema para el origen de datos de este OleDbConnection utilizando la cadena especificada para el nombre del esquema y la matriz de cadenas especificada para los valores de restricción.

GetSchemaAsync(CancellationToken)

Se trata de una versión asincrónica de GetSchema(). Los proveedores deben invalidar con una implementación adecuada. Opcionalmente, se puede respetar el cancellationToken. La implementación predeterminada invoca la llamada GetSchema() sincrónica y devuelve una tarea completada. La implementación predeterminada devolverá una tarea cancelada si se pasa una cancellationTokenya cancelada. Las excepciones producidas por GetSchema() se comunicarán a través de la propiedad Task Exception devuelta.

(Heredado de DbConnection)
GetSchemaAsync(String, CancellationToken)

Esta es la versión asincrónica de GetSchema(String). Los proveedores deben invalidar con una implementación adecuada. Opcionalmente, se puede respetar el cancellationToken. La implementación predeterminada invoca la llamada GetSchema(String) sincrónica y devuelve una tarea completada. La implementación predeterminada devolverá una tarea cancelada si se pasa una cancellationTokenya cancelada. Las excepciones producidas por GetSchema(String) se comunicarán a través de la propiedad Task Exception devuelta.

(Heredado de DbConnection)
GetSchemaAsync(String, String[], CancellationToken)

Esta es la versión asincrónica de GetSchema(String, String[]). Los proveedores deben invalidar con una implementación adecuada. Opcionalmente, se puede respetar el cancellationToken. La implementación predeterminada invoca la llamada GetSchema(String, String[]) sincrónica y devuelve una tarea completada. La implementación predeterminada devolverá una tarea cancelada si se pasa una cancellationTokenya cancelada. Las excepciones producidas por GetSchema(String, String[]) se comunicarán a través de la propiedad Task Exception devuelta.

(Heredado de DbConnection)
GetService(Type)

Devuelve un objeto que representa un servicio proporcionado por el Component o por su Container.

(Heredado de Component)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
InitializeLifetimeService()
Obsoletos.

Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia.

(Heredado de MarshalByRefObject)
MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
MemberwiseClone(Boolean)

Crea una copia superficial del objeto MarshalByRefObject actual.

(Heredado de MarshalByRefObject)
OnStateChange(StateChangeEventArgs)

Genera el evento StateChange.

(Heredado de DbConnection)
Open()

Abre una conexión de base de datos con la configuración de propiedad especificada por el ConnectionString.

OpenAsync()

Una versión asincrónica de Open(), que abre una conexión de base de datos con la configuración especificada por el ConnectionString. Este método invoca el método virtual OpenAsync(CancellationToken) con CancellationToken.None.

(Heredado de DbConnection)
OpenAsync(CancellationToken)

Esta es la versión asincrónica de Open(). Los proveedores deben invalidar con una implementación adecuada. Opcionalmente, se puede respetar el token de cancelación.

La implementación predeterminada invoca la llamada Open() sincrónica y devuelve una tarea completada. La implementación predeterminada devolverá una tarea cancelada si se pasa una cancellationToken ya cancelada. Las excepciones producidas por Open se comunicarán a través de la propiedad Task Exception devuelta.

No invoque otros métodos y propiedades del objeto DbConnection hasta que se complete la tarea devuelta.

(Heredado de DbConnection)
ReleaseObjectPool()

Indica que el grupo de objetos de OleDbConnection se puede liberar cuando se libera la última conexión subyacente.

ResetState()

Actualiza la propiedad State del objeto OleDbConnection.

ToString()

Devuelve un String que contiene el nombre del Component, si existe. Este método no se debe invalidar.

(Heredado de Component)

Eventos

Disposed

Se produce cuando el componente se elimina mediante una llamada al método Dispose().

(Heredado de Component)
InfoMessage

Se produce cuando el proveedor envía una advertencia o un mensaje informativo.

StateChange

Se produce cuando cambia el estado de la conexión.

StateChange

Se produce cuando cambia el estado de la conexión.

(Heredado de DbConnection)

Implementaciones de interfaz explícitas

ICloneable.Clone()

Para obtener una descripción de este miembro, consulte Clone().

IDbConnection.BeginTransaction()

Esta API admite la infraestructura de producto y no está pensada para usarse directamente en el código.

Inicia una transacción de base de datos.

IDbConnection.BeginTransaction()

Inicia una transacción de base de datos.

(Heredado de DbConnection)
IDbConnection.BeginTransaction(IsolationLevel)

Esta API admite la infraestructura de producto y no está pensada para usarse directamente en el código.

Comienza una transacción de base de datos con el nivel de aislamiento especificado.

IDbConnection.BeginTransaction(IsolationLevel)

Comienza una transacción de base de datos con el nivel de aislamiento especificado.

(Heredado de DbConnection)
IDbConnection.CreateCommand()

Esta API admite la infraestructura de producto y no está pensada para usarse directamente en el código.

Crea y devuelve un objeto de comando asociado a la conexión.

IDbConnection.CreateCommand()

Crea y devuelve un objeto DbCommand asociado a la conexión actual.

(Heredado de DbConnection)

Métodos de extensión

ConfigureAwait(IAsyncDisposable, Boolean)

Configura cómo se realizarán las esperas en las tareas devueltas desde un descartable asincrónico.

Se aplica a

Consulte también