Remarque
L’accès à cette page requiert une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page requiert une autorisation. Vous pouvez essayer de modifier des répertoires.
Pour vous connecter à Microsoft SQL Server, utilisez l'objet SqlConnection du fournisseur de données .NET Framework pour SQL Server. Pour vous connecter à une source de données OLE DB, 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é, consultez Protection des informations de connexion.
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, consultez Instruction using et Instruction Using.
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, consultez Mise en pool de connexions OLE DB, ODBC et Oracle.
Notes
N'appelez pas Close ni Dispose sur un objet managé de type Connexion, 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 une méthode Finalize dans la définition de classe. Pour plus d’informations, consultez Nettoyage de la mémoire.
Notes
Les événements de connexion et de déconnexion ne seront pas déclenchés sur le serveur si une connexion est récupérée 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).
Se connecter à 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 SqlConnectionStringBuilder classe pour créer des chaînes de connexion valides de manière syntactique au moment de l’exécution. Pour plus d’informations, consultez Builders de chaînes de connexion.
L'exemple de code suivant illustre la création et l'ouverture d'une connexion à une base de données SQL Server.
' 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 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, consultez Emprunt d’identité ASP.NET, Authentification ASP.NET et Procédure : 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 fournit une connectivité aux sources de données exposées à l’aide d’OLE DB (via SQLOLEDB, le 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é
Providerest requis.Les mots clés URL, Remote Provider et Remote Server ne sont pas pris en charge.
Pour plus d’informations sur les chaîne de connexion OLE DB, consultez l’articleConnectionString. Vous pouvez également utiliser l’option OleDbConnectionStringBuilder pour créer des chaînes de connexion au moment de l’exécution.
Notes
L’objet OleDbConnection ne prend pas en charge la définition ou la récupération 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)
Il est possible de fournir des informations de connexion pour un OleDbConnection fichier UDL (Universal Data Link). Toutefois, vous devez éviter de le faire. 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 offre une connectivité aux sources de données exposées via ODBC en utilisant 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 le OdbcConnection, voir le OdbcConnection.
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 fournit une connectivité aux sources de données Oracle à 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, consultez OracleConnection.
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.
}