Condividi tramite


OleDbConnection Classe

Definizione

Rappresenta una connessione aperta a un'origine dati.

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

Esempio

Nell'esempio seguente vengono creati un OleDbCommand e un OleDbConnection. Il OleDbConnection viene aperto e impostato come Connection per il OleDbCommand. L'esempio chiama quindi ExecuteNonQuery e chiude la connessione. A tale scopo, ExecuteNonQuery viene passata una stringa di connessione e una stringa di query che è un'istruzione SQL INSERT.

public void InsertRow(string connectionString, string insertSQL)
{
    using (OleDbConnection connection = new OleDbConnection(connectionString))
    {
        // The insertSQL string contains a SQL statement that
        // inserts a new row in the source table.
        OleDbCommand command = new OleDbCommand(insertSQL);

        // Set the Connection to the new OleDbConnection.
        command.Connection = connection;

        // Open the connection and execute the insert command.
        try
        {
            connection.Open();
            command.ExecuteNonQuery();
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
        // The connection is automatically closed when the
        // code exits the using block.
    }
}
Public Sub InsertRow(ByVal connectionString As String, _
    ByVal insertSQL As String)

    Using connection As New OleDbConnection(connectionString)
        ' The insertSQL string contains a SQL statement that
        ' inserts a new row in the source table.
        Dim command As New OleDbCommand(insertSQL)

        ' Set the Connection to the new OleDbConnection.
        command.Connection = connection

        ' Open the connection and execute the insert command.
        Try
            connection.Open()
            command.ExecuteNonQuery()
        Catch ex As Exception
            Console.WriteLine(ex.Message)
        End Try
        ' The connection is automatically closed when the
        ' code exits the Using block.
    End Using
End Sub

Commenti

Un oggetto OleDbConnection rappresenta una connessione univoca a un'origine dati. Con un sistema di database client/server, equivale a una connessione di rete al server. A seconda delle funzionalità supportate dal provider OLE DB nativo, alcuni metodi o proprietà di un oggetto OleDbConnection potrebbero non essere disponibili.

Quando si crea un'istanza di OleDbConnection, tutte le proprietà vengono impostate su valori iniziali. Per un elenco di questi valori, vedere il costruttore OleDbConnection.

È possibile aprire più datareader in un singolo OleDbConnection. Se il provider OLE DB utilizzato non supporta più di un DataReader in una singola connessione, il provider apre in modo implicito una connessione aggiuntiva per ognuna.

Se il OleDbConnection esce dall'ambito, non viene chiuso. Pertanto, è necessario chiudere in modo esplicito la connessione chiamando Close o Disposeoppure usando l'oggetto OleDbConnection all'interno di un'istruzione Using.

Nota

Per distribuire applicazioni ad alte prestazioni, è necessario usare il pool di connessioni. Quando si usa il provider di dati .NET Framework per OLE DB, non è necessario abilitare il pool di connessioni perché il provider gestisce automaticamente questa operazione. Per altre informazioni su come usare il pool di connessioni con il provider di dati .NET Framework per OLE DB, vedere OLE DB, ODBC e Oracle Connection Pooling.

Se un OleDbException irreversibile (ad esempio, un livello di gravità di SQL Server di 20 o superiore) viene generato dal metodo che esegue un OleDbCommand, il OleDbConnection potrebbe essere chiuso. Tuttavia, l'utente può riaprire la connessione e continuare.

Un'applicazione che crea un'istanza dell'oggetto OleDbConnection può richiedere a tutti i chiamanti diretti e indiretti di disporre di autorizzazioni sufficienti per il codice impostando richieste di sicurezza dichiarative o imperative. OleDbConnection rende richieste di sicurezza usando l'oggetto OleDbPermission. Gli utenti possono verificare che il codice disponga di autorizzazioni sufficienti usando l'oggetto OleDbPermissionAttribute. Gli utenti e gli amministratori possono anche usare il Caspol.exe (Strumento criteri di sicurezza dall'accesso di codice) 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 degli avvisi e dei messaggi informativi dal server dati, vedere Eventi di connessione.

Nota

L'oggetto OleDbConnection non supporta l'impostazione o il recupero di proprietà dinamiche specifiche di un provider OLE DB. Sono supportate solo le proprietà che possono essere passate nella stringa di connessione per il provider OLE DB.

Costruttori

OleDbConnection()

Inizializza una nuova istanza della classe OleDbConnection.

OleDbConnection(String)

Inizializza una nuova istanza della classe OleDbConnection 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 database.

ConnectionTimeout

Ottiene 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)
Events

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

(Ereditato da Component)
Provider

Ottiene il nome del provider OLE DB specificato nella clausola "Provider= " della stringa di connessione.

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 di database con il valore IsolationLevel corrente.

BeginTransaction(IsolationLevel)

Avvia una transazione di database con il livello di isolamento 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 per un OleDbConnectionaperto.

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 OleDbCommand associato al OleDbConnection.

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.

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)
GetOleDbSchemaTable(Guid, Object[])

Restituisce informazioni sullo schema da un'origine dati come indicato da un GUID e dopo l'applicazione delle restrizioni specificate.

GetSchema()

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

GetSchema(String)

Restituisce informazioni sullo schema per l'origine dati di questo OleDbConnection utilizzando la stringa specificata per il nome dello schema.

GetSchema(String, String[])

Restituisce informazioni sullo schema per l'origine dati di questo OleDbConnection 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 di database 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 il pool di oggetti OleDbConnection può essere rilasciato quando viene rilasciata l'ultima connessione sottostante.

ResetState()

Aggiorna la proprietà State dell'oggetto OleDbConnection.

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 provider 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