OdbcConnection Classe

Definizione

Rappresenta una connessione aperta a un'origine dati.Represents an open connection to a data source.

public ref class OdbcConnection sealed : System::Data::Common::DbConnection, ICloneable
public sealed class OdbcConnection : System.Data.Common.DbConnection, ICloneable
type OdbcConnection = class
    inherit DbConnection
    interface ICloneable
Public NotInheritable Class OdbcConnection
Inherits DbConnection
Implements ICloneable
Ereditarietà
Implementazioni

Esempi

Nell'esempio seguente vengono creati un OdbcCommand e una OdbcConnection.The following example creates an OdbcCommand and an OdbcConnection. Il OdbcConnection viene aperto e impostato come proprietà Connection.The OdbcConnection is opened and set as the Connection property. L'esempio chiama quindi ExecuteNonQuerye chiude la connessione.The example then calls ExecuteNonQuery, and closes the connection. A tale scopo, alla ExecuteNonQuery viene passata una stringa di connessione e una stringa di query che è un'istruzione SQL INSERT.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

Commenti

Un oggetto OdbcConnection rappresenta una connessione univoca a un'origine dati creata utilizzando una stringa di connessione o un nome dell'origine dati (DSN) ODBC.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 di database client/server, equivale a una connessione di rete al server.With a client/server database system, it is equivalent to a network connection to the server. A seconda della funzionalità supportata dal driver ODBC nativo, è possibile che alcuni metodi o proprietà di un oggetto OdbcConnection non siano disponibili.Depending on the functionality supported by the native ODBC driver, some methods or properties of an OdbcConnection object may not be available.

L'oggetto OdbcConnection utilizza risorse native quali l'ambiente ODBC e gli handle di connessione.The OdbcConnection object uses native resources such as ODBC environment and connection handles. È necessario chiudere sempre in modo esplicito tutti gli oggetti OdbcConnection aperti chiamando Close o Dispose prima che l'oggetto OdbcConnection esca dall'ambito oppure inserendo la connessione all'interno di un'istruzione Using.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. Questa operazione non consente di liberare le risorse native Garbage Collection.Not doing this leaves the freeing of these native resources to garbage collection. Potrebbe non liberarli immediatamente.It might not free them immediately. Questo, a sua volta, può causare l'esaurimento delle risorse del driver sottostante o il raggiungimento di un limite massimo.This, in turn, can eventually cause the underlying driver to run out of resources or reach a maximum limit. Ciò ha causato errori intermittenti.This has resulted in intermittent failures. Ad esempio, è possibile che si verifichino errori correlati a Maximum Connections mentre molte connessioni sono in attesa di essere eliminate dal Garbage Collector.For example, you might experience Maximum Connections -related errors while many connections are waiting to be deleted by the garbage collector. La chiusura esplicita delle connessioni consente un uso più efficiente delle risorse native, migliorando la scalabilità e migliorando le prestazioni complessive dell'applicazione.Explicitly closing the connections allows for a more efficient use of native resources, enhancing scalability and improving overall application performance.

Nota

Per distribuire applicazioni a prestazioni elevate, è spesso necessario utilizzare il pool di connessioni.To deploy high-performance applications, you frequently must use connection pooling. Tuttavia, quando si usa il .NET Framework provider di dati per ODBC, non è necessario abilitare il pool di connessioni perché il provider lo gestisce automaticamente.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.

Se uno dei metodi Execute della classe OdbcCommand causa un OdbcException irreversibile (ad esempio, un livello di gravità SQL Server maggiore o uguale a 20), è possibile che il OdbcConnection venga chiuso.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. L'utente può tuttavia riaprire la connessione e continuare.However, the user can reopen the connection and continue.

Un'applicazione che crea un'istanza dell'oggetto OdbcConnection può richiedere a tutti i chiamanti diretti e indiretti di disporre di autorizzazioni sufficienti per il codice impostando richieste di sicurezza dichiarative o imperative.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 richieste di sicurezza utilizzando l'oggetto OdbcPermission.OdbcConnection creates security demands by using the OdbcPermission object. Gli utenti possono verificare che il codice disponga di autorizzazioni sufficienti utilizzando l'oggetto OdbcPermissionAttribute.Users can verify that their code has sufficient permissions by using the OdbcPermissionAttribute object. Gli utenti e gli amministratori possono inoltre utilizzare lo strumento criteri di sicurezza dall'accesso di codice (Caspol. exe) per modificare i criteri di sicurezza a livello di computer, utente e organizzazione.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. Per altre informazioni, vedere Code Access Security and ADO.NET.For more information, see Code Access Security and ADO.NET.

Per ulteriori informazioni sulla gestione di messaggi di avviso e informativi dall'origine dati, vedere eventi di connessione.For more information about handling warning and informational messages from the data source, see Connection Events.

Costruttori

OdbcConnection()

Inizializza una nuova istanza della classe OdbcConnection.Initializes a new instance of the OdbcConnection class.

OdbcConnection(String)

Inizializza una nuova istanza della classe OdbcConnection con la stringa di connessione specificata.Initializes a new instance of the OdbcConnection class with the specified connection string.

Proprietà

CanRaiseEvents

Ottiene un valore che indica se il componente può generare un evento.Gets a value indicating whether the component can raise an event.

(Ereditato da Component)
ConnectionString

Ottiene o imposta la stringa utilizzata per aprire un'origine dati.Gets or sets the string used to open a data source.

ConnectionTimeout

Ottiene o imposta il tempo di attesa (in secondi) mentre si tenta di stabilire una connessione prima di terminare il tentativo e generare un errore.Gets or sets the time to wait (in seconds) while trying to establish a connection before terminating the attempt and generating an error.

Container

Ottiene il IContainer che contiene il Component.Gets the IContainer that contains the Component.

(Ereditato da Component)
Database

Ottiene il nome del database corrente o del database da usare dopo l'apertura della connessione.Gets the name of the current database or the database to be used after a connection is opened.

DataSource

Ottiene il nome server o il nome file dell'origine dati.Gets the server name or file name of the data source.

DesignMode

Ottiene un valore che indica se il Component si trova in modalità progettazione.Gets a value that indicates whether the Component is currently in design mode.

(Ereditato da Component)
Driver

Ottiene il nome del driver ODBC specificato per la connessione corrente.Gets the name of the ODBC driver specified for the current connection.

Events

Ottiene l'elenco dei gestori eventi allegati a questo Component.Gets the list of event handlers that are attached to this Component.

(Ereditato da Component)
ServerVersion

Ottiene una stringa che contiene la versione del server a cui è connesso il client.Gets a string that contains the version of the server to which the client is connected.

Site

Ottiene o imposta l'oggetto ISite di Component.Gets or sets the ISite of the Component.

(Ereditato da Component)
State

Ottiene lo stato corrente della connessione.Gets the current state of the connection.

Metodi

BeginTransaction()

Avvia una transazione all'origine dati.Starts a transaction at the data source.

BeginTransaction(IsolationLevel)

Avvia una transazione all'origine dati con il valore di IsolationLevel specificato.Starts a transaction at the data source with the specified IsolationLevel value.

ChangeDatabase(String)

Modifica il database corrente associato a un oggetto OdbcConnection aperto.Changes the current database associated with an open OdbcConnection.

Close()

Chiude la connessione all'origine dati.Closes the connection to the data source.

CreateCommand()

Crea e restituisce un oggetto OdbcCommand associato alla classe OdbcConnection.Creates and returns an OdbcCommand object associated with the OdbcConnection.

CreateObjRef(Type)

Consente di creare un oggetto che contiene tutte le informazioni rilevanti necessarie per la generazione del proxy utilizzato per effettuare la comunicazione con un oggetto remoto.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Ereditato da MarshalByRefObject)
Dispose()

Rilascia tutte le risorse usate da Component.Releases all resources used by the Component.

(Ereditato da Component)
Dispose(Boolean)

Rilascia le risorse non gestite usate da Component e, facoltativamente, le risorse gestite.Releases the unmanaged resources used by the Component and optionally releases the managed resources.

(Ereditato da Component)
EnlistDistributedTransaction(ITransaction)

Permette l'integrazione nella transazione specificata come transazione distribuita.Enlists in the specified transaction as a distributed transaction.

EnlistTransaction(Transaction)

Permette l'integrazione nella transazione specificata come transazione distribuita.Enlists in the specified transaction as a distributed transaction.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetLifetimeService()

Consente di recuperare l'oggetto servizio di durata corrente per controllare i criteri di durata per l'istanza.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Ereditato da MarshalByRefObject)
GetSchema()

Restituisce informazioni sullo schema per l'origine dati di questo oggetto OdbcConnection.Returns schema information for the data source of this OdbcConnection.

GetSchema(String)

Restituisce le informazioni di schema per l'origine dati dell'oggetto OdbcConnection utilizzando il nome specificato per il nome dello schema.Returns schema information for the data source of this OdbcConnection using the specified name for the schema name.

GetSchema(String, String[])

Restituisce le informazioni di schema per l'origine dati dell'oggetto OdbcConnection utilizzando la stringa specificata per il nome dello schema e la matrice di stringhe specificata per i valori di restrizione.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.

GetService(Type)

Consente di restituire un oggetto che rappresenta un servizio fornito da Component o dal relativo Container.Returns an object that represents a service provided by the Component or by its Container.

(Ereditato da Component)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
InitializeLifetimeService()

Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza.Obtains a lifetime service object to control the lifetime policy for this instance.

(Ereditato da MarshalByRefObject)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
MemberwiseClone(Boolean)

Crea una copia dei riferimenti dell'oggetto MarshalByRefObject corrente.Creates a shallow copy of the current MarshalByRefObject object.

(Ereditato da MarshalByRefObject)
Open()

Apre una connessione a un'origine dati con le impostazioni delle proprietà specificate dalla proprietà ConnectionString.Opens a connection to a data source with the property settings specified by the ConnectionString.

ReleaseObjectPool()

Indica che è possibile rilasciare il gestore dell'ambiente di Gestione driver ODBC quando viene rilasciata l'ultima connessione sottostante.Indicates that the ODBC Driver Manager environment handle can be released when the last underlying connection is released.

ToString()

Restituisce un oggetto String che contiene il nome dell'eventuale oggetto Component.Returns a String containing the name of the Component, if any. Questo metodo non deve essere sottoposto a override.This method should not be overridden.

(Ereditato da Component)

Eventi

Disposed

Si verifica quando il componente viene eliminato da una chiamata al metodo Dispose().Occurs when the component is disposed by a call to the Dispose() method.

(Ereditato da Component)
InfoMessage

Viene generato quando il driver ODBC invia un avviso o un messaggio informativo.Occurs when the ODBC driver sends a warning or an informational message.

StateChange

Si verifica quando cambia lo stato della connessione.Occurs when the state of the connection changes.

Implementazioni dell'interfaccia esplicita

ICloneable.Clone()

Per una descrizione di questo membro, vedere Clone().For a description of this member, see Clone().

IDbConnection.BeginTransaction()

Avvia una transazione di database.Begins a database transaction.

IDbConnection.BeginTransaction(IsolationLevel)

Inizia una transazione di database con il livello di isolamento specificato.Begins a database transaction with the specified isolation level.

IDbConnection.CreateCommand()

Crea e restituisce un oggetto Command associato alla connessione.Creates and returns a command object associated with the connection.

Si applica a

Vedi anche