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

Esempio

Nell'esempio seguente viene creato un oggetto OdbcCommand e un oggetto OdbcConnection. L'oggetto OdbcConnection viene aperto e impostato come Connection proprietà . L'esempio chiama ExecuteNonQueryquindi e chiude la connessione. A tale scopo, 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 OdbcConnection oggetto rappresenta una connessione univoca a un'origine dati creata utilizzando una stringa di connessione o un nome DSN (Data Source Name ODBC). Con un sistema di database client/server, equivale a una connessione di rete al server. A seconda delle funzionalità supportate dal driver ODBC nativo, alcuni metodi o proprietà di un OdbcConnection oggetto potrebbero non essere disponibili.

L'oggetto OdbcConnection usa risorse native, ad esempio l'ambiente ODBC e gli handle di connessione. È sempre consigliabile chiudere in modo esplicito tutti gli oggetti aperti OdbcConnection chiamando Close o Dispose prima che l'oggetto OdbcConnection esca dall'ambito oppure inserendo la connessione all'interno di un'istruzione Using . Questa operazione non consente di liberare 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 Maximum Connections errori correlati, 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 Execute metodi della OdbcCommand classe causa un errore irreversibile OdbcException , ad esempio un SQL Server livello di gravità pari a 20 o superiore, può OdbcConnection essere chiuso. L'utente può tuttavia 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 per l'accesso al codice (Caspol.exe) per modificare i criteri di sicurezza a livello computer, utente e aziendale. Per altre informazioni, vedere Code Access Security and 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) mentre si tenta di stabilire una connessione prima di terminare il tentativo e generare un errore.

Container

Ottiene l'oggetto IContainer che contiene Component.

(Ereditato da Component)
Database

Ottiene il nome del database corrente o del database da usare dopo l'apertura della connessione.

DataSource

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

DbProviderFactory

Ottiene l'oggetto DbProviderFactory per l'oggetto DbConnection.

(Ereditato da DbConnection)
DesignMode

Ottiene un valore che indica se il Component si trova 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 allegati a questo Component.

(Ereditato da Component)
ServerVersion

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

Site

Ottiene o imposta l'oggetto ISite di Component.

(Ereditato da Component)
State

Ottiene lo stato corrente della connessione.

Metodi

BeginDbTransaction(IsolationLevel)

In caso di override in una classe derivata, avvia una transazione di database.

(Ereditato da DbConnection)
BeginDbTransactionAsync(IsolationLevel, CancellationToken)

Avvia una transazione di database in modo asincrono.

(Ereditato da DbConnection)
BeginTransaction()

Avvia una transazione all'origine dati.

BeginTransaction(IsolationLevel)

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

BeginTransactionAsync(CancellationToken)

Avvia una transazione di database in modo asincrono.

(Ereditato da DbConnection)
BeginTransactionAsync(IsolationLevel, CancellationToken)

Avvia una transazione di database in modo asincrono.

(Ereditato da DbConnection)
ChangeDatabase(String)

Modifica il database corrente associato a un oggetto OdbcConnection aperto.

ChangeDatabaseAsync(String, CancellationToken)

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

(Ereditato da DbConnection)
Close()

Chiude la connessione all'origine dati.

CloseAsync()

Chiude la connessione al database in modo asincrono.

(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 alla classe OdbcConnection.

CreateDbBatch()

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

(Ereditato da DbConnection)
CreateDbCommand()

In caso di override in una classe derivata, crea e restituisce un oggetto DbCommand associato alla connessione corrente.

(Ereditato da DbConnection)
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.

(Ereditato da MarshalByRefObject)
Dispose()

Esegue attività definite dall'applicazione, come rilasciare o reimpostare risorse non gestite.

(Ereditato da DbConnection)
Dispose()

Rilascia tutte le risorse usate da Component.

(Ereditato da Component)
Dispose(Boolean)

Rilascia le risorse non gestite usate da DbConnection e, facoltativamente, le risorse gestite.

(Ereditato da DbConnection)
Dispose(Boolean)

Rilascia le risorse non gestite usate da Component e, facoltativamente, le risorse gestite.

(Ereditato da Component)
DisposeAsync()

Elimina in modo asincrono l'oggetto connessione.

(Ereditato da DbConnection)
EnlistDistributedTransaction(ITransaction)

Permette l'integrazione nella transazione specificata come transazione distribuita.

EnlistTransaction(Transaction)

Permette l'integrazione nella transazione specificata come transazione distribuita.

EnlistTransaction(Transaction)

Consente l'inserimento 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.

Consente di recuperare l'oggetto servizio di durata corrente per controllare i criteri di durata per l'istanza.

(Ereditato da MarshalByRefObject)
GetSchema()

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

GetSchema()

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

(Ereditato da DbConnection)
GetSchema(String)

Restituisce le informazioni di schema per l'origine dati dell'oggetto OdbcConnection utilizzando il nome specificato per il nome dello schema.

GetSchema(String)

Restituisce le informazioni di schema per l'origine dati dell'oggetto DbConnection usando la stringa specificata per il nome dello schema.

(Ereditato da DbConnection)
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.

GetSchema(String, String[])

Restituisce le informazioni di schema per l'origine dati dell'oggetto DbConnection utilizzando la stringa specificata per il nome dello schema e la matrice di stringhe specificata per i valori di restrizione.

(Ereditato da DbConnection)
GetSchemaAsync(CancellationToken)

Si tratta di una versione asincrona di GetSchema(). I provider devono eseguire l'override con un'implementazione appropriata. cancellationToken può facoltativamente essere rispettato. L'implementazione predefinita richiama la chiamata sincrona GetSchema() e restituisce un'attività completata. L'implementazione predefinita restituirà un'attività annullata se viene passato un cancellationToken già annullato. Le eccezioni generate da GetSchema() verranno passate mediante 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. cancellationToken può facoltativamente essere rispettato. L'implementazione predefinita richiama la chiamata sincrona GetSchema(String) e restituisce un'attività completata. L'implementazione predefinita restituirà un'attività annullata se viene passato un cancellationToken già annullato. Le eccezioni generate da GetSchema(String) verranno passate mediante 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. cancellationToken può facoltativamente essere rispettato. L'implementazione predefinita richiama la chiamata sincrona GetSchema(String, String[]) e restituisce un'attività completata. L'implementazione predefinita restituirà un'attività annullata se viene passato un cancellationToken già annullato. Le eccezioni generate da GetSchema(String, String[]) verranno passate mediante la proprietà Task Exception restituita.

(Ereditato da DbConnection)
GetService(Type)

Consente di restituire un oggetto che rappresenta un servizio fornito da Component o dal relativo Container.

(Ereditato da Component)
GetType()

Ottiene l'oggetto 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 dell'oggetto Object corrente.

(Ereditato da Object)
MemberwiseClone(Boolean)

Crea una copia dei riferimenti 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 dalla proprietà ConnectionString.

OpenAsync()

Versione asincrona di Open(), che apre una connessione di database con le impostazioni specificate da 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ò facoltativamente essere rispettato.

L'implementazione predefinita richiama la chiamata sincrona Open() e restituisce un'attività completata. L'implementazione predefinita restituirà un'attività annullata se viene passato un cancellationToken già annullato. Le eccezioni generate da Open verranno passate mediante la proprietà Task Exception restituita.

Non richiamare altri metodi e proprietà dell'oggetto DbConnection finché l'attività restituita non viene completata.

(Ereditato da DbConnection)
ReleaseObjectPool()

Indica che è possibile rilasciare il gestore dell'ambiente di Gestione driver ODBC quando viene rilasciata l'ultima connessione sottostante.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
ToString()

Restituisce un oggetto String che contiene il nome dell'eventuale oggetto Component. 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

Viene generato quando il driver ODBC invia un avviso o un messaggio informativo.

StateChange

Si verifica quando cambia lo stato della connessione.

StateChange

Si verifica quando cambia lo stato della connessione.

(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.

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

IDbConnection.BeginTransaction(IsolationLevel)

Inizia 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 Command associato alla connessione.

IDbConnection.CreateCommand()

Crea e restituisce un oggetto DbCommand associato alla connessione corrente.

(Ereditato da DbConnection)

Si applica a

Vedi anche