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à
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 di origine dati ODBC . 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 OdbcConnection oggetto potrebbero non essere disponibili.

L'oggetto OdbcConnection usa risorse native, ad esempio l'ambiente ODBC e gli handle di connessione. È consigliabile chiudere in modo esplicito tutti gli oggetti aperti OdbcConnection 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 Maximum Connections errori -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 Execute metodi della OdbcCommand classe causa un errore irreversibile OdbcException , ad esempio un livello di gravità di SQL Server di 20 o superiore, può OdbcConnection 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 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

Nome Descrizione
OdbcConnection()

Inizializza una nuova istanza della classe OdbcConnection.

OdbcConnection(String)

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

Proprietà

Nome Descrizione
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 l'oggetto IContainer contenente l'oggetto 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 l'oggetto per l'oggetto DbProviderFactoryDbConnection.

(Ereditato da DbConnection)
DesignMode

Ottiene un valore che indica se è 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 Componentoggetto .

(Ereditato da Component)
ServerVersion

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

Site

Ottiene o imposta l'oggetto ISite dell'oggetto Component.

(Ereditato da Component)
State

Ottiene lo stato corrente della connessione.

Metodi

Nome Descrizione
BeginDbTransaction(IsolationLevel)

Quando sottoposto a override in una classe derivata, avvia 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 specificato IsolationLevel .

ChangeDatabase(String)

Modifica il database corrente associato a un oggetto aperto OdbcConnection.

Close()

Chiude la connessione all'origine dati.

CreateCommand()

Crea e restituisce un OdbcCommand oggetto associato all'oggetto OdbcConnection.

CreateDbCommand()

Quando sottoposto a override in una classe derivata, crea e restituisce un DbCommand oggetto 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()

Rilascia tutte le risorse usate da Component.

(Ereditato da Component)
Dispose(Boolean)

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

(Ereditato da Component)
EnlistDistributedTransaction(ITransaction)

Integra la transazione specificata come transazione distribuita.

EnlistTransaction(Transaction)

Integra la transazione specificata come transazione distribuita.

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

GetSchema(String, String[])

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

GetSchema(String)

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

GetService(Type)

Restituisce un oggetto che rappresenta un servizio fornito da Component o da 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 corrente MarshalByRefObject .

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

OpenAsync()

Versione asincrona di , che apre una connessione di Open()database con le impostazioni specificate da ConnectionString. Questo metodo richiama il metodo OpenAsync(CancellationToken) virtuale 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 chiamata sincrona Open() 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 oggetto String contenente il nome dell'oggetto Component, se presente. Questo metodo non deve essere sottoposto a override.

(Ereditato da Component)

Eventi

Nome Descrizione
Disposed

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

(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

Nome Descrizione
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 DbCommand oggetto associato alla connessione corrente.

(Ereditato da DbConnection)

Si applica a

Vedi anche