Esecuzione della connessione (ADO.NET)

Per eseguire la connessione a Microsoft SQL Server 7.0 o versione successiva, utilizzare l'oggetto SqlConnection del provider di dati .NET Framework per SQL Server. Per eseguire la connessione a un'origine dati OLE DB oppure a Microsoft SQL Server 6.x o versione precedente, utilizzare l'oggetto OleDbConnection del provider di dati .NET Framework per OLE DB. Per eseguire la connessione a un'origine dati ODBC, utilizzare l'oggetto OdbcConnection del provider di dati .NET Framework per ODBC. Per eseguire la connessione a un'origine dati Oracle, utilizzare l'oggetto OracleConnection del provider di dati .NET Framework per Oracle. Per informazioni sulla sicurezza dell'archiviazione e del recupero delle stringhe di connessione, vedere Protezione delle informazioni di connessione (ADO.NET).

Disconnessione

Al termine dell'utilizzo, chiudere sempre la connessione in modo che possa essere restituita al pool. Il blocco Using in Visual Basic o C# elimina automaticamente la connessione quando il codice esce dal blocco, anche in caso di eccezione non gestita. Per ulteriori informazioni, vedere Istruzione using (Riferimenti per C#) e Istruzione Using (Visual Basic).

È anche possibile utilizzare il metodo Close o Dispose dell'oggetto connessione del provider in uso. Le connessioni che non vengono chiuse in modo esplicito potrebbero non essere aggiunte o restituite al pool. Ad esempio, una connessione che esce dall'ambito ma non viene chiusa in modo esplicito verrà restituita al pool di connessioni solo se è stata raggiunta la dimensione massima del pool e la connessione è ancora valida. Per ulteriori informazioni, vedere Pool di connessioni OLEDB, ODBC e Oracle (ADO.NET).

NotaNota

Non chiamare Close o Dispose su un oggetto Connection, DataReader o qualsiasi altro oggetto gestito nel metodo Finalize della classe.Rilasciare nei finalizzatori solo le risorse non gestite che la classe controlla direttamente.Se nella classe non sono presenti risorse non gestite, non includere un metodo Finalize nella definizione della classe.Per ulteriori informazioni, vedere Garbage Collection.

NotaNota

Nel server non vengono generati eventi di accesso e di disconnessione quando una connessione viene recuperata dal o restituita al pool di connessioni, in quanto la connessione non viene effettivamente chiusa quando viene restituita al pool di connessioni.Per ulteriori informazioni, vedere Pool di connessioni di SQL Server (ADO.NET).

Connessione a SQL Server

Il formato della stringa di connessione supportato dal provider di dati .NET Framework per SQL Server è simile al formato della stringa di connessione OLE DB (ADO). Per informazioni sui nomi e sui valori validi del formato della stringa, vedere la proprietà ConnectionString dell'oggetto SqlConnection. È anche possibile utilizzare la classe SqlConnectionStringBuilder per creare stringhe di connessione sintatticamente valide in fase di esecuzione. Per ulteriori informazioni, vedere Compilatori di stringhe di connessione (ADO.NET).

Nel codice di esempio seguente viene descritta la procedura di creazione e di apertura di una connessione a un database SQL Server 7.0 o versioni successive.

' Assumes connectionString is a valid connection string.
Using connection As New SqlConnection(connectionString)
    connection.Open()
    ' Do work here.
End Using
// Assumes connectionString is a valid connection string.
using (SqlConnection connection = new SqlConnection(connectionString))
{
    connection.Open();
    // Do work here.
}

Sicurezza integrata e ASP.NET

La sicurezza integrata di SQL Server (connessioni trusted) consente di proteggere la connessione a SQL Server, poiché non espone l'identificatore utente e la password nella stringa di connessione ed è il metodo consigliato per l'autenticazione di una connessione. La sicurezza integrata utilizza l'identità di sicurezza corrente, o token, del processo in esecuzione. Per le applicazioni desktop, tale identità corrisponde solitamente all'identità dell'utente attualmente connesso.

L'identità di sicurezza delle applicazioni ASP.NET può essere impostata su diverse opzioni. Per ulteriori informazioni sull'identità di sicurezza utilizzata da un'applicazione ASP.NET al momento della connessione a SQL Server, vedere Rappresentazione ASP.NET, Autenticazione ASP.NET e Procedura: accedere a SQL Server tramite la sicurezza integrata di Windows.

Connessione a un'origine dati OLE DB

Con il provider di dati .NET Framework per OLE DB viene fornita la connettività a origini dati esposte utilizzando OLE DB e a Microsoft SQL Server 6.x o versioni precedenti (tramite SQLOLEDB, il provider OLE DB per SQL Server) utilizzando l'oggetto OleDbConnection.

Per il provider di dati .NET Framework per OLE DB, il formato della stringa di connessione è identico a quello utilizzato in ADO, con le eccezioni seguenti:

  • È necessaria la parola chiave Provider.

  • Le parole chiave URL, Remote Provider e Remote Server non sono supportate.

Per ulteriori informazioni sulle stringhe di connessione OLE DB, vedere l'argomento relativo a ConnectionString. È anche possibile utilizzare OleDbConnectionStringBuilder per creare stringhe di connessione in fase di esecuzione.

NotaNota

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

Nell'esempio di codice seguente viene illustrato come creare e aprire una connessione a un'origine dati OLE DB.

' Assumes connectionString is a valid connection string.
Using connection As New OleDbConnection(connectionString)
    connection.Open()
    ' Do work here.
End Using
// Assumes connectionString is a valid connection string.
using (OleDbConnection connection = 
  new OleDbConnection(connectionString))
{
    connection.Open();
    // Do work here.
}

È possibile fornire informazioni di connessione per un oggetto OleDbConnection in un file UDL (Universal Data Link). Si consiglia, tuttavia, di evitare questa procedura. I file UDL non sono crittografati, pertanto espongono le informazioni nella stringa di connessione come testo non crittografato. Poiché per l'applicazione si tratta di una risorsa esterna basata su file, un file UDL non può essere protetto tramite .NET Framework.

Connessione a un'origine dati ODBC

Con il provider di dati .NET Framework per ODBC viene fornita la connettività a origini dati esposte tramite ODBC mediante l'oggetto OdbcConnection.

Il formato della stringa di connessione da utilizzare con il provider di dati .NET Framework per ODBC è molto simile a quello della stringa di connessione ODBC. È anche possibile specificare il nome di un'origine dati (DSN, Data Source Name) ODBC. Per ulteriori informazioni su OdbcConnection, vedere Classe OdbcConnection.

NotaNota

Il provider di dati .NET Framework per ODBC non è incluso in .NET Framework 1.0.Se è richiesto il provider di dati .NET Framework per ODBC e si sta utilizzando .NET Framework 1.0, è possibile scaricare il provider di dati .NET Framework per ODBC dal sito Microsoft (informazioni in lingua inglese).Lo spazio dei nomi per il provider di dati .NET Framework per ODBC scaricato è Microsoft.Data.Odbc.

Nell'esempio di codice seguente viene illustrato come creare e aprire una connessione a un'origine dati ODBC.

' Assumes connectionString is a valid connection string.
Using connection As New OdbcConnection(connectionString)
    connection.Open()
    ' Do work here.
End Using
// Assumes connectionString is a valid connection string.
using (OdbcConnection connection = 
  new OdbcConnection(connectionString))
{
    connection.Open();
    // Do work here.
}

Connessione a un'origine dati Oracle

Con il provider di dati .NET Framework per Oracle viene fornita la connettività alle origini dati Oracle tramite l'oggetto OracleConnection.

Il formato della stringa di connessione da utilizzare con il provider di dati .NET Framework per Oracle è molto simile a quello della stringa di connessione del provider OLE DB per Oracle (MSDAORA). Per ulteriori informazioni su OracleConnection, vedere Classe OracleConnection.

Nell'esempio di codice seguente viene illustrato come creare e aprire una connessione a un'origine dati Oracle.

' Assumes connectionString is a valid connection string.
Using connection As New OracleConnection(connectionString)
    connection.Open()
    ' Do work here.
End Using
// Assumes connectionString is a valid connection string.
using (OracleConnection connection = 
  new OracleConnection(connectionString))
{
    connection.Open();
    // Do work here.
}
OracleConnection nwindConn = new OracleConnection("Data Source=MyOracleServer;Integrated Security=yes;");
nwindConn.Open();

Vedere anche

Concetti

Pool di connessioni OLEDB, ODBC e Oracle (ADO.NET)

Altre risorse

Connessione a un'origine dati (ADO.NET)

Stringhe di connessione (ADO.NET)