Partager via


Établir une connexion

S'applique à : .NET Framework .NET .NET Standard

Télécharger ADO.NET

Pour vous connecter à Microsoft SQL Server, utilisez l'objet SqlConnection du Fournisseur de données Microsoft SqlClient pour SQL Server. 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 les méthodes Close ou Dispose de l’objet de connexion. 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.

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).

Connexion à SQL Server

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, 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.

using Microsoft.Data.SqlClient;

class Program1
{
    static void Main()
    {
        string s = GetConnectionString();

        OpenSqlConnection(s);
        Console.ReadLine();
    }

    private static void OpenSqlConnection(string connectionString)
    {
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            connection.Open();
            Console.WriteLine("ServerVersion: {0}", connection.ServerVersion);
            Console.WriteLine("State: {0}", connection.State);
        }
    }

    static private string GetConnectionString()
    {
        // To avoid storing the connection string in your code, 
        // you can retrieve it from a configuration file, using the 
        // System.Configuration.ConfigurationSettings.AppSettings property 
        return "Data Source=(local);Initial Catalog=AdventureWorks;"
            + "Integrated Security=SSPI;";
    }
}

Sécurité intégrée et ASP.NET

La sécurité intégrée SQL Server (également appelée « connexions approuvées ») permet de fournir 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 constitue 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. Pour les applications de bureau, cette identité est généralement 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.

Voir aussi