OdbcConnection Clase

Definición

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

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

Ejemplos

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

static private void InsertRow(string connectionString)
{
    string queryString =
        "INSERT INTO Customers (CustomerID, CompanyName) Values('NWIND', 'Northwind Traders')";
    OdbcCommand command = new OdbcCommand(queryString);

    using (OdbcConnection connection = new OdbcConnection(connectionString))
    {
        command.Connection = connection;
        connection.Open();
        command.ExecuteNonQuery();

        // The connection is automatically closed at
        // the end of the Using block.
    }
}
Private Sub InsertRow(ByVal connectionString As String)

    Dim queryString As String = _
        "INSERT INTO Customers (CustomerID, CompanyName) Values('NWIND', 'Northwind Traders')"
    Dim command As New OdbcCommand(queryString)

    Using connection As New OdbcConnection(connectionString)
        command.Connection = connection
        connection.Open()
        command.ExecuteNonQuery()

        ' The connection is automatically closed at 
        ' the end of the Using block.
    End Using
End Sub

Comentarios

Un objeto OdbcConnection representa una conexión única a un origen de datos creado mediante una cadena de conexión o un nombre de origen de datos ODBC (DSN). 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 controlador ODBC nativo, es posible que algunos métodos o propiedades de un objeto OdbcConnection no estén disponibles.

El objeto OdbcConnection usa recursos nativos, como el entorno ODBC y los identificadores de conexión. Siempre debe cerrar explícitamente los objetos de OdbcConnection abiertos llamando a Close o Dispose antes de que el objeto OdbcConnection salga del ámbito o colocando la conexión dentro de una instrucción Using. No hacerlo deja libre de estos recursos nativos a la recolección de elementos no utilizados. Es posible que no los libere inmediatamente. Esto, a su vez, puede hacer que el controlador subyacente se queda sin recursos o alcanzar un límite máximo. Esto ha provocado errores intermitentes. Por ejemplo, puede experimentar errores Maximum Connections -related mientras el recolector de elementos no utilizados está esperando a que el recolector de elementos no utilizados elimine muchas conexiones. Cerrar explícitamente las conexiones permite un uso más eficaz de los recursos nativos, lo que mejora la escalabilidad y mejora el rendimiento general de las aplicaciones.

Nota

Para implementar aplicaciones de alto rendimiento, con frecuencia debe usar la agrupación de conexiones. Sin embargo, cuando se usa el proveedor de datos de .NET Framework para ODBC, no es necesario habilitar la agrupación de conexiones porque el proveedor lo administra automáticamente.

Si uno de los métodos Execute de la clase OdbcCommand provoca un OdbcException grave (por ejemplo, un nivel de gravedad de SQL Server de 20 o superior), el OdbcConnection puede cerrarse. Sin embargo, el usuario puede volver a abrir la conexión y continuar.

Una aplicación que crea una instancia del objeto OdbcConnection 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. OdbcConnection crea demandas de seguridad mediante el objeto OdbcPermission. Los usuarios pueden comprobar que su código tiene permisos suficientes mediante el objeto OdbcPermissionAttribute. Los usuarios y administradores también pueden usar la herramienta de directiva de seguridad de acceso al código (Caspol.exe) 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 origen de datos, consulte Eventos de conexión.

Constructores

OdbcConnection()

Inicializa una nueva instancia de la clase OdbcConnection.

OdbcConnection(String)

Inicializa una nueva instancia de la clase OdbcConnection 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 un origen de datos.

ConnectionTimeout

Obtiene o establece 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)
Driver

Obtiene el nombre del controlador ODBC especificado para la conexión actual.

Events

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

(Heredado de Component)
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 en el origen de datos.

BeginTransaction(IsolationLevel)

Inicia una transacción en el origen de datos con el valor de IsolationLevel 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 asociada a un OdbcConnectionabierto.

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 OdbcCommand asociado al OdbcConnection.

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.

EnlistTransaction(Transaction)

Se inscribe en la transacción especificada.

(Heredado de DbConnection)
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)
GetSchema()

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

GetSchema(String)

Devuelve información de esquema para el origen de datos de este OdbcConnection utilizando el nombre especificado para el nombre de esquema.

GetSchema(String, String[])

Devuelve información de esquema para el origen de datos de este OdbcConnection 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 a un origen 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 identificador del entorno del Administrador de controladores ODBC se puede liberar cuando se libere la última conexión subyacente.

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 controlador ODBC 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