Prise en charge de SqlClient pour LocalDB

Utilisez le package NuGet Microsoft.Data.SqlClient pour vous connecter à LocalDB, version légère de SQL Server disponible sur Windows. Utilisez l’authentification intégrée de Windows pour les exemples de cet article.

Remarques

Pour résumer ce que vous pouvez faire avec LocalDB :

  • Créez et démarrez des instances LocalDB avec SqlLocalDB.exe.

  • Utilisez sqlcmd.exe pour ajouter et modifier des bases de données dans une instance LocalDB. Par exemple : sqlcmd -S (localdb)\myinst.

  • Utilisez le mot clé de chaîne de connexion AttachDBFilename pour ajouter une base de données à votre instance LocalDB. Lorsque vous utilisez AttachDBFilename, si vous ne spécifiez pas le nom de la base de données avec le Database mot clé de chaîne de connexion, la base de données est supprimée de l’instance LocalDB lorsque l’application se ferme.

  • Spécifiez une instance LocalDB dans votre chaîne de connexion. Par exemple, si le nom de votre instance est myInstance, la chaîne de connexion inclut les éléments suivants :

    Server=(localdb)\myInstance;Database=<database>;Integrated Security=true;Encrypt=true

User Instance=True n’est pas autorisé lors de la connexion à une base de données LocalDB.

Pour plus d’informations sur l’installation de LocalDB, consultez SQL Server Express LocalDB.

Créer une instance nommée par programmation

Microsoft.Data.SqlClient sur les .NET modernes n'utilise pas la section de configuration de .NET Framework system.data.localdb. Créez et démarrez l’instance avant que votre application ouvre une connexion :

SqlLocalDB.exe create myInstance
SqlLocalDB.exe start myInstance

Spécifiez le même nom d’instance dans le mot-clé Server de la chaîne de connexion. Pour joindre un fichier de base de données existant, définissez AttachDBFilename sur le chemin d’accès complet du fichier et définissez Database sur le nom de la base de données.

Pour le développement local avec une instance LocalDB qui n’a pas de certificat de serveur approuvé, utilisez Encrypt=true;TrustServerCertificate=true. Ce paramètre chiffre la connexion, mais ignore la validation du certificat de serveur. Pour les connexions de production distante, utilisez Encrypt=true;TrustServerCertificate=false et configurez un certificat de serveur approuvé par le client et qui correspond au nom du serveur. Pour plus d’informations, consultez Validation du chiffrement et des certificats dans Microsoft.Data.SqlClient.

Voir aussi