Condividi tramite


OdbcConnection Classe

Definizione

Rappresenta una connessione aperta a un'origine dati.

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
Ereditarietà
Ereditarietà
Implementazioni

Esempio

Nell'esempio seguente vengono creati un OdbcCommand e un OdbcConnection. Il OdbcConnection viene aperto e impostato come proprietà Connection. L'esempio chiama quindi ExecuteNonQuerye chiude la connessione. A tale scopo, l'ExecuteNonQuery viene passata una stringa di connessione e una stringa di query che è un'istruzione SQL INSERT.

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 tramite una stringa di connessione o un DSN (ODBC Data Source Name). Con un sistema di database client/server, equivale a una connessione di rete al server. A seconda della funzionalità supportata dal driver ODBC nativo, alcuni metodi o proprietà di un oggetto OdbcConnection potrebbero non essere disponibili.

L'oggetto OdbcConnection usa risorse native, ad esempio gli handle di connessione e l'ambiente ODBC. È consigliabile chiudere sempre in modo esplicito gli oggetti OdbcConnection aperti chiamando Close o Dispose prima che l'oggetto OdbcConnection esepra l'ambito oppure inserendo la connessione all'interno di un'istruzione Using. Questa operazione non comporta la liberazione di queste risorse native per l'operazione di Garbage Collection. Potrebbe non liberarli immediatamente. Ciò, a sua volta, può causare l'esaurirsi delle risorse sottostanti o raggiungere un limite massimo. Ciò ha causato errori intermittenti. Ad esempio, è possibile che si verifichino errori Maximum Connections -related mentre molte connessioni sono in attesa di essere eliminate dal 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.

Nota

Per distribuire applicazioni ad alte prestazioni, è spesso necessario usare il pool di connessioni. Tuttavia, quando si usa il provider di dati .NET Framework per ODBC, non è necessario abilitare il pool di connessioni perché il provider gestisce automaticamente questa operazione.

Se uno dei metodi Execute della classe OdbcCommand causa un OdbcException irreversibile, ad esempio un livello di gravità di SQL Server pari o superiore a 20, il OdbcConnection potrebbe chiudersi. Tuttavia, l'utente può riaprire la connessione e continuare.

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. OdbcConnection crea richieste di sicurezza usando l'oggetto OdbcPermission. Gli utenti possono verificare che il codice disponga di autorizzazioni sufficienti usando l'oggetto OdbcPermissionAttribute. Gli utenti e gli amministratori possono anche usare lo strumento Criteri di sicurezza dall'accesso di codice (Caspol.exe) per modificare i criteri di sicurezza a livello computer, utente e aziendale. Per altre informazioni, vedere Sicurezza dall'accesso al codice e ADO.NET.

Per altre informazioni sulla gestione di messaggi informativi e di avviso dall'origine dati, vedere Eventi di connessione.

Costruttori

OdbcConnection()

Inizializza una nuova istanza della classe OdbcConnection.

OdbcConnection(String)

Inizializza una nuova istanza della classe OdbcConnection con la stringa di connessione specificata.

Proprietà

CanCreateBatch

Ottiene un valore che indica se questa istanza di DbConnection supporta la classe DbBatch.

(Ereditato da DbConnection)
CanRaiseEvents

Ottiene un valore che indica se il componente può generare un evento.

(Ereditato da Component)
ConnectionString

Ottiene o imposta la stringa utilizzata per aprire un'origine dati.

ConnectionTimeout

Ottiene o imposta il tempo di attesa (in secondi) durante il tentativo di stabilire una connessione prima di terminare il tentativo e generare un errore.

Container

Ottiene il IContainer che contiene il Component.

(Ereditato da Component)
Database

Ottiene il nome del database corrente o del database da utilizzare dopo l'apertura di una connessione.

DataSource

Ottiene il nome del server o il nome file dell'origine dati.

DbProviderFactory

Ottiene il DbProviderFactory per questo DbConnection.

(Ereditato da DbConnection)
DesignMode

Ottiene un valore che indica se la Component è attualmente in modalità progettazione.

(Ereditato da Component)
Driver

Ottiene il nome del driver ODBC specificato per la connessione corrente.

Events

Ottiene l'elenco dei gestori eventi associati a questo Component.

(Ereditato da Component)
ServerVersion

Ottiene una stringa contenente la versione del server a cui è connesso il client.

Site

Ottiene o imposta il ISite del Component.

(Ereditato da Component)
State

Ottiene lo stato corrente della connessione.

Metodi

BeginDbTransaction(IsolationLevel)

Quando sottoposto a override in una classe derivata, avvia una transazione di database.

(Ereditato da DbConnection)
BeginDbTransactionAsync(IsolationLevel, CancellationToken)

Avvia in modo asincrono una transazione di database.

(Ereditato da DbConnection)
BeginTransaction()

Avvia una transazione nell'origine dati.

BeginTransaction(IsolationLevel)

Avvia una transazione nell'origine dati con il valore IsolationLevel specificato.

BeginTransactionAsync(CancellationToken)

Avvia in modo asincrono una transazione di database.

(Ereditato da DbConnection)
BeginTransactionAsync(IsolationLevel, CancellationToken)

Avvia in modo asincrono una transazione di database.

(Ereditato da DbConnection)
ChangeDatabase(String)

Modifica il database corrente associato a un OdbcConnectionaperto.

ChangeDatabaseAsync(String, CancellationToken)

Modifica in modo asincrono il database corrente per una connessione aperta.

(Ereditato da DbConnection)
Close()

Chiude la connessione all'origine dati.

CloseAsync()

Chiude in modo asincrono la connessione al database.

(Ereditato da DbConnection)
CreateBatch()

Restituisce una nuova istanza della classe del provider che implementa la classe DbBatch.

(Ereditato da DbConnection)
CreateCommand()

Crea e restituisce un oggetto OdbcCommand associato al OdbcConnection.

CreateDbBatch()

Quando sottoposto a override in una classe derivata, restituisce una nuova istanza della classe del provider che implementa la classe DbBatch.

(Ereditato da DbConnection)
CreateDbCommand()

Quando sottoposto a override in una classe derivata, crea e restituisce un oggetto DbCommand associato alla connessione corrente.

(Ereditato da DbConnection)
CreateObjRef(Type)

Crea un oggetto che contiene tutte le informazioni pertinenti necessarie per generare un proxy utilizzato per comunicare con un oggetto remoto.

(Ereditato da MarshalByRefObject)
Dispose()

Esegue attività definite dall'applicazione associate alla liberazione, al rilascio o alla reimpostazione di risorse non gestite.

(Ereditato da DbConnection)
Dispose()

Rilascia tutte le risorse usate dal Component.

(Ereditato da Component)
Dispose(Boolean)

Rilascia le risorse non gestite usate dal DbConnection e, facoltativamente, rilascia le risorse gestite.

(Ereditato da DbConnection)
Dispose(Boolean)

Rilascia le risorse non gestite usate dal Component e, facoltativamente, rilascia le risorse gestite.

(Ereditato da Component)
DisposeAsync()

Depose in modo asincrono l'oggetto connessione.

(Ereditato da DbConnection)
EnlistDistributedTransaction(ITransaction)

Integra la transazione specificata come transazione distribuita.

EnlistTransaction(Transaction)

Integra la transazione specificata come transazione distribuita.

EnlistTransaction(Transaction)

Inserisce nella transazione specificata.

(Ereditato da DbConnection)
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetLifetimeService()
Obsoleti.

Recupera l'oggetto servizio di durata corrente che controlla i criteri di durata per questa istanza.

(Ereditato da MarshalByRefObject)
GetSchema()

Restituisce informazioni sullo schema per l'origine dati di questo OdbcConnection.

GetSchema(String)

Restituisce informazioni sullo schema per l'origine dati di questo OdbcConnection utilizzando il nome specificato per il nome dello schema.

GetSchema(String, String[])

Restituisce informazioni sullo schema per l'origine dati di questo OdbcConnection utilizzando la stringa specificata per il nome dello schema e la matrice di stringhe specificata per i valori di restrizione.

GetSchemaAsync(CancellationToken)

Si tratta di una versione asincrona di GetSchema(). I provider devono eseguire l'override con un'implementazione appropriata. Il cancellationToken può essere rispettato facoltativamente. L'implementazione predefinita richiama la GetSchema() sincrona e restituisce un'attività completata. L'implementazione predefinita restituirà un'attività annullata se è stata passata una cancellationTokengià annullata. Le eccezioni generate da GetSchema() verranno comunicate tramite la proprietà Task Exception restituita.

(Ereditato da DbConnection)
GetSchemaAsync(String, CancellationToken)

Si tratta della versione asincrona di GetSchema(String). I provider devono eseguire l'override con un'implementazione appropriata. Il cancellationToken può essere rispettato facoltativamente. L'implementazione predefinita richiama la GetSchema(String) sincrona e restituisce un'attività completata. L'implementazione predefinita restituirà un'attività annullata se è stata passata una cancellationTokengià annullata. Le eccezioni generate da GetSchema(String) verranno comunicate tramite la proprietà Task Exception restituita.

(Ereditato da DbConnection)
GetSchemaAsync(String, String[], CancellationToken)

Si tratta della versione asincrona di GetSchema(String, String[]). I provider devono eseguire l'override con un'implementazione appropriata. Il cancellationToken può essere rispettato facoltativamente. L'implementazione predefinita richiama la GetSchema(String, String[]) sincrona e restituisce un'attività completata. L'implementazione predefinita restituirà un'attività annullata se è stata passata una cancellationTokengià annullata. Le eccezioni generate da GetSchema(String, String[]) verranno comunicate tramite la proprietà Task Exception restituita.

(Ereditato da DbConnection)
GetService(Type)

Restituisce un oggetto che rappresenta un servizio fornito dal Component o dal relativo Container.

(Ereditato da Component)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
InitializeLifetimeService()
Obsoleti.

Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza.

(Ereditato da MarshalByRefObject)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
MemberwiseClone(Boolean)

Crea una copia superficiale dell'oggetto MarshalByRefObject corrente.

(Ereditato da MarshalByRefObject)
OnStateChange(StateChangeEventArgs)

Genera l'evento StateChange.

(Ereditato da DbConnection)
Open()

Apre una connessione a un'origine dati con le impostazioni delle proprietà specificate dal ConnectionString.

OpenAsync()

Versione asincrona di Open(), che apre una connessione di database con le impostazioni specificate dal ConnectionString. Questo metodo richiama il metodo virtuale OpenAsync(CancellationToken) con CancellationToken.None.

(Ereditato da DbConnection)
OpenAsync(CancellationToken)

Si tratta della versione asincrona di Open(). I provider devono eseguire l'override con un'implementazione appropriata. Il token di annullamento può essere facoltativamente rispettato.

L'implementazione predefinita richiama la Open() sincrona e restituisce un'attività completata. L'implementazione predefinita restituirà un'attività annullata se è stato passato un oggetto cancellationToken già annullato. Le eccezioni generate da Open verranno comunicate tramite la proprietà Task Exception restituita.

Non richiamare altri metodi e proprietà dell'oggetto DbConnection fino al completamento dell'attività restituita.

(Ereditato da DbConnection)
ReleaseObjectPool()

Indica che l'handle dell'ambiente gestione driver ODBC può essere rilasciato quando viene rilasciata l'ultima connessione sottostante.

ToString()

Restituisce un String contenente il nome del Component, se presente. Questo metodo non deve essere sottoposto a override.

(Ereditato da Component)

Eventi

Disposed

Si verifica quando il componente viene eliminato da una chiamata al metodo Dispose().

(Ereditato da Component)
InfoMessage

Si verifica quando il driver ODBC invia un avviso o un messaggio informativo.

StateChange

Si verifica quando lo stato della connessione cambia.

StateChange

Si verifica quando lo stato della connessione cambia.

(Ereditato da DbConnection)

Implementazioni dell'interfaccia esplicita

ICloneable.Clone()

Per una descrizione di questo membro, vedere Clone().

IDbConnection.BeginTransaction()

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Avvia una transazione di database.

IDbConnection.BeginTransaction()

Avvia una transazione di database.

(Ereditato da DbConnection)
IDbConnection.BeginTransaction(IsolationLevel)

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Avvia una transazione di database con il livello di isolamento specificato.

IDbConnection.BeginTransaction(IsolationLevel)

Avvia una transazione di database con il livello di isolamento specificato.

(Ereditato da DbConnection)
IDbConnection.CreateCommand()

Questa API supporta l'infrastruttura del prodotto e non è previsto che venga usata direttamente dal codice.

Crea e restituisce un oggetto comando associato alla connessione.

IDbConnection.CreateCommand()

Crea e restituisce un oggetto DbCommand associato alla connessione corrente.

(Ereditato da DbConnection)

Metodi di estensione

ConfigureAwait(IAsyncDisposable, Boolean)

Configura il modo in cui verranno eseguite le attese nelle attività restituite da un oggetto eliminabile asincrono.

Si applica a

Vedi anche