OdbcConnection Clase

Definición

Representa una conexión abierta a un origen de datos.Represents an open connection to a data source.

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 y un OdbcConnection .The following example creates an OdbcCommand and an OdbcConnection. OdbcConnectionSe abre y se establece como la Connection propiedad.The OdbcConnection is opened and set as the Connection property. A continuación, en el ejemplo se llama a ExecuteNonQuery y se cierra la conexión.The example then calls ExecuteNonQuery, and closes the connection. Para ello, ExecuteNonQuery se pasa una cadena de conexión y una cadena de consulta que es una instrucción INSERT de SQL.To accomplish this, the ExecuteNonQuery is passed a connection string and a query string that is an SQL INSERT statement.

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).An OdbcConnection object represents a unique connection to a data source created by using a connection string or ODBC data source name (DSN). Con un sistema de base de datos cliente/servidor, es equivalente a una conexión de red al servidor.With a client/server database system, it is equivalent to a network connection to the server. 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.Depending on the functionality supported by the native ODBC driver, some methods or properties of an OdbcConnection object may not be available.

El OdbcConnection objeto utiliza recursos nativos como el entorno ODBC y los controladores de conexión.The OdbcConnection object uses native resources such as ODBC environment and connection handles. Siempre debe cerrar explícitamente cualquier objeto abierto llamando OdbcConnection a Close o Dispose antes OdbcConnection de que el objeto salga del ámbito, o bien colocando la conexión dentro de una Using instrucción.You should always explicitly close any open OdbcConnection objects by calling Close or Dispose before the OdbcConnection object goes out of scope, or by placing the connection within a Using statement. No hacerlo deja la liberación de estos recursos nativos en la recolección de elementos no utilizados.Not doing this leaves the freeing of these native resources to garbage collection. Es posible que no los libere inmediatamente.It might not free them immediately. Esto, a su vez, puede hacer que el controlador subyacente se quede sin recursos o alcance un límite máximo.This, in turn, can eventually cause the underlying driver to run out of resources or reach a maximum limit. Esto ha provocado errores intermitentes.This has resulted in intermittent failures. Por ejemplo, puede experimentar Maximum Connections errores relacionados con mientras muchas conexiones están esperando ser eliminadas por el recolector de elementos no utilizados.For example, you might experience Maximum Connections -related errors while many connections are waiting to be deleted by the garbage collector. El cierre explícito de las conexiones permite un uso más eficaz de los recursos nativos, la mejora de la escalabilidad y la mejora del rendimiento general de la aplicación.Explicitly closing the connections allows for a more efficient use of native resources, enhancing scalability and improving overall application performance.

Nota

Para implementar aplicaciones de alto rendimiento, con frecuencia debe usar la agrupación de conexiones.To deploy high-performance applications, you frequently must use connection pooling. 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 la administra automáticamente.However, when you use the .NET Framework Data Provider for ODBC, you do not have to enable connection pooling because the provider manages this automatically.

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 20 o superior), OdbcConnection puede cerrarse.If one of the Execute methods of the OdbcCommand class causes a fatal OdbcException (for example, a SQL Server severity level of 20 or greater), the OdbcConnection may close. Sin embargo, el usuario puede volver a abrir la conexión y continuar.However, the user can reopen the connection and continue.

Una aplicación que crea una instancia del OdbcConnection objeto puede requerir que todos los llamadores directos e indirectos tengan permisos suficientes para el código estableciendo demandas de seguridad declarativas o imperativas.An application that creates an instance of the OdbcConnection object can require all direct and indirect callers to have sufficient permission to the code by setting declarative or imperative security demands. OdbcConnection crea demandas de seguridad mediante el OdbcPermission objeto.OdbcConnection creates security demands by using the OdbcPermission object. Los usuarios pueden comprobar que el código tiene permisos suficientes mediante el OdbcPermissionAttribute objeto.Users can verify that their code has sufficient permissions by using the OdbcPermissionAttribute object. Los usuarios y los administradores también pueden utilizar la herramienta de directiva de seguridad de acceso del código (Caspol.exe) para modificar la Directiva de seguridad en los niveles de equipo, usuario y empresa.Users and administrators can also use the Code Access Security Policy Tool (Caspol.exe) to modify security policy at the computer, user, and enterprise levels. Para obtener más información, consulta Code Access Security and ADO.NET.For more information, see Code Access Security and ADO.NET.

Para obtener más información sobre el control de mensajes de advertencia e informativos desde el origen de datos, vea eventos de conexión.For more information about handling warning and informational messages from the data source, see Connection Events.

Constructores

OdbcConnection()

Inicializa una nueva instancia de la clase OdbcConnection.Initializes a new instance of the OdbcConnection class.

OdbcConnection(String)

Inicializa una nueva instancia de la clase OdbcConnection con la cadena de conexión especificada.Initializes a new instance of the OdbcConnection class with the specified connection string.

Propiedades

CanRaiseEvents

Obtiene un valor que indica si el componente puede generar un evento.Gets a value indicating whether the component can raise an event.

(Heredado de Component)
ConnectionString

Obtiene o establece la cadena que se utiliza para abrir un origen de datos.Gets or sets the string used to open a data source.

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.Gets or sets the time to wait (in seconds) while trying to establish a connection before terminating the attempt and generating an error.

Container

Obtiene la interfaz IContainer que contiene la clase Component.Gets the IContainer that contains the 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.Gets the name of the current database or the database to be used after a connection is opened.

DataSource

Obtiene el nombre de archivo o el nombre de servidor del origen de datos.Gets the server name or file name of the data source.

DbProviderFactory

Obtiene el objeto DbProviderFactory para este objeto DbConnection.Gets the DbProviderFactory for this DbConnection.

(Heredado de DbConnection)
DesignMode

Obtiene un valor que indica si Component está actualmente en modo de diseño.Gets a value that indicates whether the Component is currently in design mode.

(Heredado de Component)
Driver

Obtiene el nombre del controlador ODBC especificado para la conexión actual.Gets the name of the ODBC driver specified for the current connection.

Events

Obtiene la lista de controladores de eventos asociados a Component.Gets the list of event handlers that are attached to this Component.

(Heredado de Component)
ServerVersion

Obtiene una cadena que contiene la versión del servidor al que está conectado el cliente.Gets a string that contains the version of the server to which the client is connected.

Site

Obtiene o establece ISite de Component.Gets or sets the ISite of the Component.

(Heredado de Component)
State

Obtiene el estado actual de la conexión.Gets the current state of the connection.

Métodos

BeginDbTransaction(IsolationLevel)

Cuando se invalida en una clase derivada, inicia una transacción de base de datos.When overridden in a derived class, starts a database transaction.

(Heredado de DbConnection)
BeginDbTransactionAsync(IsolationLevel, CancellationToken)

Inicia de forma asincrónica una transacción de base de datos.Asynchronously starts a database transaction.

(Heredado de DbConnection)
BeginTransaction()

Inicia una transacción en el origen de datos.Starts a transaction at the data source.

BeginTransaction(IsolationLevel)

Inicia una transacción en el origen de datos con el valor de IsolationLevel especificado.Starts a transaction at the data source with the specified IsolationLevel value.

BeginTransactionAsync(CancellationToken)

Empieza de forma asincrónica una transacción de base de datos.Asynchronously begins a database transaction.

(Heredado de DbConnection)
BeginTransactionAsync(IsolationLevel, CancellationToken)

Empieza de forma asincrónica una transacción de base de datos.Asynchronously begins a database transaction.

(Heredado de DbConnection)
ChangeDatabase(String)

Cambia la base de datos actual asociada a una OdbcConnection abierta.Changes the current database associated with an open OdbcConnection.

ChangeDatabaseAsync(String, CancellationToken)

Cambia de forma asincrónica la base de datos actual de una conexión abierta.Asynchronously changes the current database for an open connection.

(Heredado de DbConnection)
Close()

Cierra la conexión al origen de datos.Closes the connection to the data source.

CloseAsync()

Cierra de forma asincrónica la conexión con la base de datos.Asynchronously closes the connection to the database.

(Heredado de DbConnection)
CreateCommand()

Crea y devuelve un objeto OdbcCommand asociado a OdbcConnection.Creates and returns an OdbcCommand object associated with the OdbcConnection.

CreateDbCommand()

Cuando se reemplaza en una clase derivada, crea y devuelve un objeto DbCommand asociado a la conexión actual.When overridden in a derived class, creates and returns a DbCommand object associated with the current connection.

(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.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Heredado de MarshalByRefObject)
Dispose()

Realiza tareas definidas por la aplicación asociadas a la liberación o al restablecimiento de recursos no administrados.Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

(Heredado de DbConnection)
Dispose()

Libera todos los recursos que usa Component.Releases all resources used by the Component.

(Heredado de Component)
Dispose(Boolean)

Libera los recursos no administrados que usa DbConnection y, de forma opcional, libera los recursos administrados.Releases the unmanaged resources used by the DbConnection and optionally releases the managed resources.

(Heredado de DbConnection)
Dispose(Boolean)

Libera los recursos no administrados que usa Component y, de forma opcional, libera los recursos administrados.Releases the unmanaged resources used by the Component and optionally releases the managed resources.

(Heredado de Component)
DisposeAsync()

Desecha de forma asincrónica el objeto de conexión.Asynchronously diposes the connection object.

(Heredado de DbConnection)
EnlistDistributedTransaction(ITransaction)

Se da de alta en la transacción especificada como una transacción distribuida.Enlists in the specified transaction as a distributed transaction.

EnlistTransaction(Transaction)

Se da de alta en la transacción especificada como una transacción distribuida.Enlists in the specified transaction as a distributed transaction.

EnlistTransaction(Transaction)

Da de alta en la transacción especificada.Enlists in the specified transaction.

(Heredado de DbConnection)
Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.Determines whether the specified object is equal to the current object.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Heredado de Object)
GetLifetimeService()
Obsoleto.

Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Heredado de MarshalByRefObject)
GetSchema()

Devuelve información de esquema para el origen de datos de OdbcConnection.Returns schema information for the data source of this OdbcConnection.

GetSchema()

Devuelve información de esquema para el origen de datos de DbConnection.Returns schema information for the data source of this 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.Returns schema information for the data source of this OdbcConnection using the specified name for the schema name.

GetSchema(String)

Devuelve información de esquema para el origen de datos de DbConnection utilizando la cadena especificada para el nombre del esquema.Returns schema information for the data source of this DbConnection using the specified string for the schema name.

(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.Returns schema information for the data source of this OdbcConnection using the specified string for the schema name and the specified string array for the restriction values.

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.Returns schema information for the data source of this DbConnection using the specified string for the schema name and the specified string array for the restriction values.

(Heredado de DbConnection)
GetSchemaAsync(CancellationToken)

Esta es una versión asincrónica de GetSchema().This is an asynchronous version of GetSchema(). Los proveedores lo deben reemplazar con una implementación apropiada.Providers should override with an appropriate implementation. Opcionalmente, se puede respetar cancellationToken.The cancellationToken can optionally be honored. La implementación predeterminada invoca la llamada sincrónica a GetSchema() y devuelve una tarea completada.The default implementation invokes the synchronous GetSchema() call and returns a completed task. La implementación predeterminada devolverá una tarea cancelada si se pasa un cancellationToken ya cancelado.The default implementation will return a cancelled task if passed an already cancelled cancellationToken. Las excepciones producidas por GetSchema() se comunicarán mediante la propiedad Task Exception devuelta.Exceptions thrown by GetSchema() will be communicated via the returned Task Exception property.

(Heredado de DbConnection)
GetSchemaAsync(String, CancellationToken)

Esta es la versión asincrónica de GetSchema(String).This is the asynchronous version of GetSchema(String). Los proveedores lo deben reemplazar con una implementación apropiada.Providers should override with an appropriate implementation. Opcionalmente, se puede respetar cancellationToken.The cancellationToken can optionally be honored. La implementación predeterminada invoca la llamada sincrónica a GetSchema(String) y devuelve una tarea completada.The default implementation invokes the synchronous GetSchema(String) call and returns a completed task. La implementación predeterminada devolverá una tarea cancelada si se pasa un cancellationToken ya cancelado.The default implementation will return a cancelled task if passed an already cancelled cancellationToken. Las excepciones producidas por GetSchema(String) se comunicarán mediante la propiedad Task Exception devuelta.Exceptions thrown by GetSchema(String) will be communicated via the returned Task Exception property.

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

Esta es la versión asincrónica de GetSchema(String, String[]).This is the asynchronous version of GetSchema(String, String[]). Los proveedores lo deben reemplazar con una implementación apropiada.Providers should override with an appropriate implementation. Opcionalmente, se puede respetar cancellationToken.The cancellationToken can optionally be honored. La implementación predeterminada invoca la llamada sincrónica a GetSchema(String, String[]) y devuelve una tarea completada.The default implementation invokes the synchronous GetSchema(String, String[]) call and returns a completed task. La implementación predeterminada devolverá una tarea cancelada si se pasa un cancellationToken ya cancelado.The default implementation will return a cancelled task if passed an already cancelled cancellationToken. Las excepciones producidas por GetSchema(String, String[]) se comunicarán mediante la propiedad Task Exception devuelta.Exceptions thrown by GetSchema(String, String[]) will be communicated via the returned Task Exception property.

(Heredado de DbConnection)
GetService(Type)

Devuelve un objeto que representa el servicio suministrado por Component o por Container.Returns an object that represents a service provided by the Component or by its Container.

(Heredado de Component)
GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Heredado de Object)
InitializeLifetimeService()
Obsoleto.

Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia.Obtains a lifetime service object to control the lifetime policy for this instance.

(Heredado de MarshalByRefObject)
MemberwiseClone()

Crea una copia superficial del Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
MemberwiseClone(Boolean)

Crea una copia superficial del objeto MarshalByRefObject actual.Creates a shallow copy of the current MarshalByRefObject object.

(Heredado de MarshalByRefObject)
OnStateChange(StateChangeEventArgs)

Genera el evento StateChange.Raises the StateChange event.

(Heredado de DbConnection)
Open()

Abre una conexión a un origen de datos con los valores de propiedad que especifica ConnectionString.Opens a connection to a data source with the property settings specified by the ConnectionString.

OpenAsync()

Una versión asincrónica de Open(), que abre una conexión a bases de datos con los valores especificados por ConnectionString.An asynchronous version of Open(), which opens a database connection with the settings specified by the ConnectionString. Este método invoca el método virtual OpenAsync(CancellationToken) con CancellationToken.None.This method invokes the virtual method OpenAsync(CancellationToken) with CancellationToken.None.

(Heredado de DbConnection)
OpenAsync(CancellationToken)

Esta es la versión asincrónica de Open().This is the asynchronous version of Open(). Los proveedores lo deben reemplazar con una implementación apropiada.Providers should override with an appropriate implementation. El token de cancelación se puede aceptar opcionalmente.The cancellation token can optionally be honored.

La implementación predeterminada invoca la llamada sincrónica a Open() y devuelve una tarea completada.The default implementation invokes the synchronous Open() call and returns a completed task. La implementación predeterminada devolverá una tarea cancelada si se pasa un cancellationToken ya cancelado.The default implementation will return a cancelled task if passed an already cancelled cancellationToken. Las excepciones producidas por Open se comunicarán mediante la propiedad Task Exception devuelta.Exceptions thrown by Open will be communicated via the returned Task Exception property.

No invoque otros métodos y propiedades del objeto DbConnection hasta que se haya completado la tarea devuelta.Do not invoke other methods and properties of the DbConnection object until the returned Task is complete.

(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.Indicates that the ODBC Driver Manager environment handle can be released when the last underlying connection is released.

ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Heredado de Object)
ToString()

Devuelve una String que contiene el nombre del Component, si existe.Returns a String containing the name of the Component, if any. Este método no se debe invalidar.This method should not be overridden.

(Heredado de Component)

Eventos

Disposed

Tiene lugar cuando una llamada elimina el componente mediante una llamada al método Dispose().Occurs when the component is disposed by a call to the Dispose() method.

(Heredado de Component)
InfoMessage

Se produce cuando el controlador ODBC envía un mensaje de advertencia o de información.Occurs when the ODBC driver sends a warning or an informational message.

StateChange

Se produce cuando cambia el estado de la conexión.Occurs when the state of the connection changes.

StateChange

Se produce cuando cambia el estado de la conexión.Occurs when the state of the connection changes.

(Heredado de DbConnection)

Implementaciones de interfaz explícitas

ICloneable.Clone()

Para obtener una descripción de este miembro, vea Clone().For a description of this member, see 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.Begins a database transaction.

IDbConnection.BeginTransaction()

Inicia una transacción de base de datos.Begins a database transaction.

(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.Begins a database transaction with the specified isolation level.

IDbConnection.BeginTransaction(IsolationLevel)

Inicia una transacción de base de datos con el nivel de aislamiento especificado.Begins a database transaction with the specified isolation level.

(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.Creates and returns a command object associated with the connection.

IDbConnection.CreateCommand()

Crea y devuelve un objeto DbCommand asociado a la conexión actual.Creates and returns a DbCommand object that is associated with the current connection.

(Heredado de DbConnection)

Se aplica a