OleDbConnection Classe

Definizione

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

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

Esempi

Nell'esempio seguente vengono creati un OleDbCommand e una OleDbConnection.The following example creates an OleDbCommand and an OleDbConnection. Il OleDbConnection viene aperto e impostato come Connection per il OleDbCommand.The OleDbConnection is opened and set as the Connection for the OleDbCommand. L'esempio chiama quindi ExecuteNonQuery e chiude la connessione.The example then calls ExecuteNonQuery and closes the connection. A tale scopo, a ExecuteNonQuery viene passata una stringa di connessione e una stringa di query che è un'istruzione SQL INSERT.To accomplish this, ExecuteNonQuery is passed a connection string and a query string that is an SQL INSERT statement.

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.An OleDbConnection object represents a unique connection to a data source. 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 provider di OLE DB nativo, è possibile che alcuni metodi o proprietà di un oggetto OleDbConnection non siano disponibili.Depending on the functionality supported by the native OLE DB provider, some methods or properties of an OleDbConnection object may not be available.

Quando si crea un'istanza di OleDbConnection, tutte le proprietà vengono impostate sui rispettivi valori iniziali.When you create an instance of OleDbConnection, all properties are set to their initial values. Per un elenco di questi valori, vedere il costruttore OleDbConnection.For a list of these values, see the OleDbConnection constructor.

È possibile aprire più di un DataReader in un singolo OleDbConnection.You can open more than one DataReader on a single OleDbConnection. Se il provider OLE DB in uso non supporta più di un DataReader in una singola connessione, il provider apre in modo implicito una connessione aggiuntiva per ogni.If the OLE DB provider you use does not support more than one DataReader on a single connection, the provider implicitly opens an additional connection for each.

Se il OleDbConnection esce dall'ambito, non è chiuso.If the OleDbConnection goes out of scope, it is not closed. Pertanto, è necessario chiudere in modo esplicito la connessione chiamando Close o Disposeo utilizzando l'oggetto OleDbConnection all'interno di un'istruzione Using.Therefore, you must explicitly close the connection by calling Close or Dispose, or by using the OleDbConnection object within a Using statement.

Nota

Per distribuire applicazioni a prestazioni elevate, è necessario utilizzare il pool di connessioni.To deploy high-performance applications, you must use connection pooling. Quando si usa il .NET Framework provider di dati per OLE DB, non è necessario abilitare il pool di connessioni perché il provider lo gestisce automaticamente.When you use the .NET Framework Data Provider for OLE DB, you do not have to enable connection pooling because the provider manages this automatically. Per ulteriori informazioni sull'utilizzo del pool di connessioni con il .NET Framework provider di dati per OLE DB, vedere OLE DB, ODBC e pool di connessioni Oracle.For more information about how to use connection pooling with the .NET Framework Data Provider for OLE DB, see OLE DB, ODBC, and Oracle Connection Pooling.

Se un OleDbException irreversibile (ad esempio, un livello di gravità SQL Server maggiore o uguale a 20) viene generato dal metodo che esegue un OleDbCommand, è possibile che il OleDbConnection venga chiuso.If a fatal OleDbException (for example, a SQL Server severity level of 20 or greater) is generated by the method executing an OleDbCommand, the OleDbConnection might be closed. 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 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.An application that creates an instance of the OleDbConnection object can require all direct and indirect callers to have sufficient permission to the code by setting declarative or imperative security demands. OleDbConnection impone richieste di sicurezza utilizzando l'oggetto OleDbPermission.OleDbConnection makes security demands using the OleDbPermission object. Gli utenti possono verificare che il codice disponga di autorizzazioni sufficienti utilizzando l'oggetto OleDbPermissionAttribute.Users can verify that their code has sufficient permissions by using the OleDbPermissionAttribute object. Gli utenti e gli amministratori possono inoltre utilizzare il Caspol. exe (strumento per i criteri di sicurezza dall'accesso di codice) per modificare i criteri di sicurezza a livello di computer, utente e organizzazione.Users and administrators can also use the Caspol.exe (Code Access Security Policy Tool) 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 dal server dati, vedere eventi di connessione.For more information about handling warning and informational messages from the data server, see Connection Events.

Nota

L'oggetto OleDbConnection non supporta l'impostazione o il recupero di proprietà dinamiche specifiche di un provider di OLE DB.The OleDbConnection object does not support setting or retrieving dynamic properties specific to an OLE DB provider. Sono supportate esclusivamente le proprietà che possono essere passate nella stringa di connessione per il provider OLE DB.Only properties that can be passed in the connection string for the OLE DB provider are supported.

Costruttori

OleDbConnection()

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

OleDbConnection(String)

Inizializza una nuova istanza della classe OleDbConnection con la stringa di connessione specificata.Initializes a new instance of the OleDbConnection 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 database.Gets or sets the string used to open a database.

ConnectionTimeout

Ottiene il tempo di attesa (in secondi) mentre si tenta di stabilire una connessione prima di terminare il tentativo e generare un errore.Gets 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.

DbProviderFactory

Ottiene l'oggetto DbProviderFactory per l'oggetto DbConnection.Gets the DbProviderFactory for this DbConnection.

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

Ottiene il nome del provider OLE DB specificato nella clausola "Provider= " della stringa di connessione.Gets the name of the OLE DB provider specified in the "Provider= " clause of the connection string.

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 dell'oggetto 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

BeginDbTransaction(IsolationLevel)

In caso di override in una classe derivata, avvia una transazione di database.When overridden in a derived class, starts a database transaction.

(Ereditato da DbConnection)
BeginDbTransactionAsync(IsolationLevel, CancellationToken)

Avvia una transazione di database in modo asincrono.Asynchronously starts a database transaction.

(Ereditato da DbConnection)
BeginTransaction()

Avvia una transazione di database con il valore IsolationLevel corrente.Starts a database transaction with the current IsolationLevel value.

BeginTransaction(IsolationLevel)

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

BeginTransactionAsync(CancellationToken)

Avvia una transazione di database in modo asincrono.Asynchronously begins a database transaction.

(Ereditato da DbConnection)
BeginTransactionAsync(IsolationLevel, CancellationToken)

Avvia una transazione di database in modo asincrono.Asynchronously begins a database transaction.

(Ereditato da DbConnection)
ChangeDatabase(String)

Modifica il database corrente per un oggetto OleDbConnection aperto.Changes the current database for an open OleDbConnection.

ChangeDatabaseAsync(String, CancellationToken)

Cambia il database corrente in modo asincrono per una connessione aperta.Asynchronously changes the current database for an open connection.

(Ereditato da DbConnection)
Close()

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

CloseAsync()

Chiude la connessione al database in modo asincrono.Asynchronously closes the connection to the database.

(Ereditato da DbConnection)
CreateCommand()

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

CreateDbCommand()

In caso di override in una classe derivata, crea e restituisce un oggetto DbCommand associato alla connessione corrente.When overridden in a derived class, creates and returns a DbCommand object associated with the current connection.

(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.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 rilascia le risorse gestite.Releases the unmanaged resources used by the Component and optionally releases the managed resources.

(Ereditato da Component)
DisposeAsync()

Elimina in modo asincrono l'oggetto connessione.Asynchronously diposes the connection object.

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

Restituisce informazioni di schema da un'origine dati come indicato da un GUID e dopo l'applicazione delle restrizioni specificate.Returns schema information from a data source as indicated by a GUID, and after it applies the specified restrictions.

GetSchema()

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

GetSchema(String)

Restituisce le informazioni di schema per l'origine dati dell'oggetto OleDbConnection usando la stringa specificata per il nome dello schema.Returns schema information for the data source of this OleDbConnection using the specified string for the schema name.

GetSchema(String, String[])

Restituisce le informazioni di schema per l'origine dati dell'oggetto OleDbConnection 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 OleDbConnection 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)
OnStateChange(StateChangeEventArgs)

Genera l'evento StateChange.Raises the StateChange event.

(Ereditato da DbConnection)
Open()

Apre una connessione a un database con le impostazioni delle proprietà specificate dalla proprietà ConnectionString.Opens a database connection with the property settings specified by the ConnectionString.

OpenAsync()

Versione asincrona di Open(), che apre una connessione di database con le impostazioni specificate da ConnectionString.An asynchronous version of Open(), which opens a database connection with the settings specified by the ConnectionString. Questo metodo richiama il metodo virtuale OpenAsync(CancellationToken) con CancellationToken.None.This method invokes the virtual method OpenAsync(CancellationToken) with CancellationToken.None.

(Ereditato da DbConnection)
OpenAsync(CancellationToken)

Si tratta della versione asincrona di Open().This is the asynchronous version of Open(). I provider devono eseguire l'override con un'implementazione appropriata.Providers should override with an appropriate implementation. Il token di annullamento può facoltativamente essere rispettato.The cancellation token can optionally be honored.

L'implementazione predefinita richiama la chiamata sincrona Open() e restituisce un'attività completata.The default implementation invokes the synchronous Open() call and returns a completed task. L'implementazione predefinita restituirà un'attività annullata se viene passato un cancellationToken già annullato.The default implementation will return a cancelled task if passed an already cancelled cancellationToken. Le eccezioni generate da Open verranno passate mediante la proprietà Task Exception restituita.Exceptions thrown by Open will be communicated via the returned Task Exception property.

Non richiamare altri metodi e proprietà dell'oggetto DbConnection finché l'attività restituita non viene completata.Do not invoke other methods and properties of the DbConnection object until the returned Task is complete.

(Ereditato da DbConnection)
ReleaseObjectPool()

Indica che il pool di oggetti OleDbConnection può essere rilasciato quando viene rilasciata l'ultima connessione sottostante.Indicates that the OleDbConnection object pool can be released when the last underlying connection is released.

ResetState()

Aggiorna la proprietà State dell'oggetto OleDbConnection.Updates the State property of the OleDbConnection object.

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 provider invia un avviso o un messaggio informativo.Occurs when the provider sends a warning or an informational message.

StateChange

Implementazioni dell'interfaccia esplicita

ICloneable.Clone()

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

IDbConnection.BeginTransaction()

Inizia 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