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
OdbcConnection
Herencia
Herencia
Implementaciones

Ejemplos

En el ejemplo siguiente se crea un OdbcCommand objeto y .OdbcConnection OdbcConnection se abre y se establece como la Connection propiedad . A continuación, el ejemplo llama a ExecuteNonQueryy 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.

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 OdbcConnection objeto 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, equivale a una conexión de red al servidor. Dependiendo de la funcionalidad admitida por el controlador ODBC nativo, es posible que algunos métodos o propiedades de un OdbcConnection objeto no estén disponibles.

El OdbcConnection objeto usa recursos nativos, como el entorno ODBC y los identificadores de conexión. Siempre debe cerrar explícitamente los objetos abiertos OdbcConnection llamando a Close o Dispose antes de que el OdbcConnection objeto salga del ámbito, o colocando la conexión dentro de una Using instrucción . Al no hacerlo, se liberan 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 agote de recursos o alcance un límite máximo. Esto ha provocado errores intermitentes. Por ejemplo, podría experimentar Maximum Connections errores relacionados mientras el recolector de elementos no utilizados está esperando que la eliminen 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 Execute métodos de la OdbcCommand clase provoca un error grave OdbcException (por ejemplo, un nivel de gravedad de SQL Server de 20 o superior), puede cerrarseOdbcConnection. Sin embargo, el usuario puede volver a abrir la conexión y continuar.

Una aplicación que crea una instancia del OdbcConnection objeto 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 OdbcPermission objeto . Los usuarios pueden comprobar que su código tiene permisos suficientes mediante el OdbcPermissionAttribute objeto . Los usuarios y administradores también pueden usar la Herramienta de directiva de seguridad de acceso de código (Caspol.exe) para modificar la directiva de seguridad en los niveles de equipo, usuario y empresa. Para obtener más información, consulta Code Access Security and ADO.NET.

Para obtener más información sobre cómo controlar los mensajes informativos e informativos del 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 que se utiliza para abrir un origen de datos.

ConnectionTimeout

Obtiene o establece el tiempo de espera (en segundos) mientras se intenta establecer una conexión hasta que se interrumpe el intento y se genera un error.

Container

Obtiene la interfaz IContainer que contiene la clase Component.

(Heredado de Component)
Database

Obtiene el nombre de la base de datos actual o de la que se va a utilizar una vez que se abre la conexión.

DataSource

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

DbProviderFactory

Obtiene el objeto DbProviderFactory para este objeto DbConnection.

(Heredado de DbConnection)
DesignMode

Obtiene un valor que indica si 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 asociados a 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 ISite de 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)

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

(Heredado de DbConnection)
BeginTransactionAsync(IsolationLevel, CancellationToken)

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

(Heredado de DbConnection)
ChangeDatabase(String)

Cambia la base de datos actual asociada a una OdbcConnection abierta.

ChangeDatabaseAsync(String, CancellationToken)

Cambia de forma asincrónica la base de datos actual de 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 con 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 a OdbcConnection.

CreateDbBatch()

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

(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 relevante necesaria para generar un proxy utilizado para comunicarse con un objeto remoto.

(Heredado de MarshalByRefObject)
Dispose()

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

(Heredado de DbConnection)
Dispose()

Libera todos los recursos que usa Component.

(Heredado de Component)
Dispose(Boolean)

Libera los recursos no administrados que usa DbConnection y, de forma opcional, libera los recursos administrados.

(Heredado de DbConnection)
Dispose(Boolean)

Libera los recursos no administrados que usa Component y, de forma opcional, libera los recursos administrados.

(Heredado de Component)
DisposeAsync()

Desecha de forma asincrónica el objeto de conexión.

(Heredado de DbConnection)
EnlistDistributedTransaction(ITransaction)

Se da de alta en la transacción especificada como una transacción distribuida.

EnlistTransaction(Transaction)

Se da de alta en la transacción especificada como una transacción distribuida.

EnlistTransaction(Transaction)

Da de alta en la transacción especificada.

(Heredado de DbConnection)
Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la 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 OdbcConnection.

GetSchema()

Devuelve información de esquema para el origen de datos de DbConnection.

(Heredado de DbConnection)
GetSchema(String)

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

GetSchema(String)

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

(Heredado de DbConnection)
GetSchema(String, String[])

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

GetSchema(String, String[])

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

(Heredado de DbConnection)
GetSchemaAsync(CancellationToken)

Esta es una versión asincrónica de GetSchema(). Los proveedores lo deben reemplazar con una implementación apropiada. Opcionalmente, se puede respetar cancellationToken. La implementación predeterminada invoca la llamada sincrónica a GetSchema() y devuelve una tarea completada. La implementación predeterminada devolverá una tarea cancelada si se pasa un cancellationToken ya cancelado. Las excepciones producidas por GetSchema() se comunicarán mediante la propiedad Task Exception devuelta.

(Heredado de DbConnection)
GetSchemaAsync(String, CancellationToken)

Esta es la versión asincrónica de GetSchema(String). Los proveedores lo deben reemplazar con una implementación apropiada. Opcionalmente, se puede respetar cancellationToken. La implementación predeterminada invoca la llamada sincrónica a GetSchema(String) y devuelve una tarea completada. La implementación predeterminada devolverá una tarea cancelada si se pasa un cancellationToken ya cancelado. Las excepciones producidas por GetSchema(String) se comunicarán mediante 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 lo deben reemplazar con una implementación apropiada. Opcionalmente, se puede respetar cancellationToken. La implementación predeterminada invoca la llamada sincrónica a GetSchema(String, String[]) y devuelve una tarea completada. La implementación predeterminada devolverá una tarea cancelada si se pasa un cancellationToken ya cancelado. Las excepciones producidas por GetSchema(String, String[]) se comunicarán mediante la propiedad Task Exception devuelta.

(Heredado de DbConnection)
GetService(Type)

Devuelve un objeto que representa el servicio suministrado por Component o por 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 Object actual.

(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 los valores de propiedad que especifica ConnectionString.

OpenAsync()

Una versión asincrónica de Open(), que abre una conexión a bases de datos con los valores especificados por 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 lo deben reemplazar con una implementación apropiada. El token de cancelación se puede aceptar opcionalmente.

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

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

(Heredado de DbConnection)
ReleaseObjectPool()

Indica que el identificador del entorno del administrador del controlador ODBC se puede liberar cuando se libere la última conexión subyacente.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)
ToString()

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

(Heredado de Component)

Eventos

Disposed

Tiene lugar cuando una llamada elimina el componente mediante una llamada al método Dispose().

(Heredado de Component)
InfoMessage

Se produce cuando el controlador ODBC envía un mensaje de advertencia o de información.

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, vea 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.

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

IDbConnection.BeginTransaction(IsolationLevel)

Inicia 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 Command asociado a la conexión.

IDbConnection.CreateCommand()

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

(Heredado de DbConnection)

Se aplica a

Consulte también