Établissement de la connexion (ADO.NET)
Pour vous connecter à Microsoft SQL Server version 7.0 ou ultérieure, utilisez l'objet SqlConnection du fournisseur de données .NET Framework pour SQL Server. Pour vous connecter à une source de données OLE DB ou à Microsoft SQL Server version 6.x ou antérieure, utilisez l'objet OleDbConnection du fournisseur de données .NET Framework pour OLE DB. Pour vous connecter à une source de données ODBC, utilisez l'objet OdbcConnection du fournisseur de données .NET Framework pour ODBC. Pour vous connecter à une source de données Oracle, utilisez l'objet OracleConnection du fournisseur de données .NET Framework pour Oracle. Pour stocker et extraire des chaînes de connexion en toute sécurité, voir Protection des informations de connexion (ADO.NET).
Fermeture de connexions
Nous vous recommandons de toujours fermer la connexion lorsque vous avez fini de l'utiliser, de façon à ce qu'elle puisse être retournée au pool. Le bloc Using dans Visual Basic ou C# supprime automatiquement la connexion lorsque le code quitte le bloc, même dans le cas d'une exception non traitée. Pour plus d'informations, voir using, instruction (référence C#) et Using, instruction (Visual Basic).
Vous pouvez également utiliser la méthode Close ou Dispose de l'objet de connexion pour le fournisseur que vous utilisez. Les connexions qui ne sont pas explicitement fermées risquent de ne pas être ajoutées ni retournées au pool. Par exemple, une connexion devenue hors de portée mais qui n'a pas été explicitement fermée sera retournée au pool de connexion seulement si la taille maximale de celui-ci a été atteinte et si la connexion est toujours valide. Pour plus d'informations, voir Regroupement de connexions OLE DB, ODBC et Oracle (ADO.NET).
Remarque |
---|
N'appelez pas Close ni Dispose sur un objet managé de type Connection, DataReader ou autre dans la méthode Finalize de votre classe.Dans un finaliseur, libérez seulement les ressources non managées que votre classe possède directement.Si votre classe ne possède pas de ressource non managée, n'incluez pas de méthode Finalize dans la définition de classe.Pour plus d'informations, voir Garbage Collection. |
Remarque |
---|
Les événements de connexion et de déconnexion ne seront pas déclenchés sur le serveur si une connexion est extraite depuis le pool de connexions ou qu'elle est retournée au pool, car elle n'est pas réellement fermée lorsqu'elle est retournée au pool.Pour plus d'informations, consultez Regroupement de connexions SQL Server (ADO.NET). |
Connexion à SQL Server
Le fournisseur de données .NET Framework pour SQL Server prend en charge un format de chaîne de connexion similaire à celui de la chaîne de connexion OLE DB (ADO). Pour obtenir les noms et les valeurs de format de chaîne valides, voir la propriété ConnectionString de l'objet SqlConnection. Vous pouvez également utiliser la classe SqlConnectionStringBuilder pour créer des chaînes de connexion valides du point de vue de la syntaxe au moment de l'exécution. Pour plus d'informations, voir Générateurs de chaînes de connexion (ADO.NET).
L'exemple de code suivant illustre la création et l'ouverture d'une connexion à une base de données SQL Server version 7.0 ou ultérieure.
' 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.
}
Sécurité intégrée et ASP.NET
La sécurité intégrée SQL Server (également appelée « connexions approuvées ») fournit une protection lors de la connexion à SQL Server car elle n'expose pas d'ID d'utilisateur et de mot de passe dans la chaîne de connexion, et elle est la méthode recommandée pour l'authentification d'une connexion. La sécurité intégrée utilise l'identité de sécurité active, ou jeton, du processus en cours d'exécution. Dans les applications bureautiques, il s'agit généralement de l'identité de l'utilisateur actuellement connecté.
Dans les applications ASP.NET, l'identité de sécurité peut être définie à l'aide d'une option parmi plusieurs options différentes. Pour mieux comprendre l'identité de sécurité qu'une application ASP.NET utilise lorsqu'elle se connecte à SQL Server, voir Emprunt d'identité ASP.NET, Authentification ASP.NET et Comment : accéder à SQL Server à l'aide de la sécurité intégrée de Windows.
Connexion à une source de données OLE DB
Le fournisseur de données .NET Framework pour OLE DB assure la connectivité aux sources de données exposées à l'aide de OLE DB, et à Microsoft SQL Server version 6.x ou antérieure (par l'intermédiaire de SQLOLEDB, fournisseur OLE DB pour SQL Server), à l'aide de l'objet OleDbConnection.
Pour le fournisseur de données .NET Framework pour OLE DB, le format de chaîne de connexion est identique à celui utilisé dans ADO, avec les exceptions suivantes :
Le mot clé Provider est obligatoire.
Les mots clés URL, Remote Provider et Remote Server ne sont pas pris en charge.
Pour plus d'informations sur les chaînes de connexion OLE DB, voir la rubrique ConnectionString. Vous pouvez également utiliser OleDbConnectionStringBuilder pour créer des chaînes de connexion au moment de l'exécution.
Remarque |
---|
L'objet OleDbConnection ne prend pas en charge la définition ou l'extraction de propriétés dynamiques spécifiques à un fournisseur OLE DB.Seules les propriétés pouvant être passées dans la chaîne de connexion du fournisseur OLE DB sont prises en charge. |
L'exemple de code suivant illustre la création et l'ouverture d'une connexion à une source de données 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.
}
N'utilisez pas de fichiers UDL (Universal Data Link)
Vous pouvez fournir des informations de connexion pour un OleDbConnection dans un fichier UDL (Universal Data Link). C'est cependant déconseillé. Les fichiers UDL n'étant pas chiffrés, ils exposent les informations de chaîne de connexion en texte brut. Comme un fichier UDL est une ressource basée sur un fichier externe pour votre application, il n'est pas possible de le sécuriser à l'aide du .NET Framework.
Connexion à une source de données ODBC
Le fournisseur de données .NET Framework pour ODBC assure la connectivité aux sources de données exposées via ODBC à l'aide de l'objet OdbcConnection.
Pour le fournisseur de données .NET Framework pour ODBC, le format de la chaîne de connexion est conçu pour être aussi proche que possible du format de la chaîne de connexion ODBC. Vous pouvez également fournir un nom de source de données ODBC (DSN). Pour plus d'informations sur OdbcConnection, voir OdbcConnection, classe.
Remarque |
---|
Le fournisseur de données .NET Framework pour ODBC n'est pas inclus dans .NET Framework version 1.0.Si vous avez besoin du fournisseur de données .NET Framework pour ODBC et si vous utilisez .NET Framework 1.0, vous pouvez télécharger le fournisseur de données .NET Framework pour ODBC sur ce site Web de Microsoft.L'espace de noms du fournisseur de données .NET Framework pour ODBC téléchargé est Microsoft.Data.Odbc. |
L'exemple de code suivant illustre la création et l'ouverture d'une connexion à une source de données 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.
}
Connexion à une source de données Oracle
Le fournisseur de données .NET Framework pour Oracle assure la connectivité aux sources de données Oracle exposées à l'aide de l'objet OracleConnection.
Pour le fournisseur de données .NET Framework pour Oracle, le format de la chaîne de connexion est conçu pour être aussi proche que possible du format de la chaîne de connexion du fournisseur de données OLE DB pour Oracle (MSDAORA). Pour plus d'informations sur OracleConnection, voir OracleConnection, classe.
L'exemple de code suivant illustre la création et l'ouverture d'une connexion à une source de données 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();
Voir aussi
Concepts
Regroupement de connexions OLE DB, ODBC et Oracle (ADO.NET)