Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Chaque fournisseur de données ADO.NET a un objet Connection qui hérite de ConnectionString ainsi qu’une propriété DbConnection spécifique au fournisseur. La syntaxe de chaîne de connexion spécifique à chaque fournisseur est documentée dans sa propriété ConnectionString. Le tableau suivant répertorie Microsoft. Data.SqlClient et trois fournisseurs inclus dans .NET Framework.
| Fournisseur de données | Descriptif |
|---|---|
| Microsoft.Data.SqlClient | Fournit l’accès aux données pour Microsoft SQL Server via le package NuGet Microsoft.Data.SqlClient. Pour plus d'informations sur la syntaxe de chaîne de connexion, consultez ConnectionString. |
| System.Data.OleDb | Fournit un accès aux données pour les sources de données exposées à l'aide de OLE DB. Pour plus d'informations sur la syntaxe de chaîne de connexion, consultez ConnectionString. |
| System.Data.Odbc | Fournit un accès aux données pour les sources de données exposées via ODBC. Pour plus d'informations sur la syntaxe de chaîne de connexion, consultez ConnectionString. |
| System.Data.OracleClient | Fournit un accès aux données pour Oracle version 8.1.7 ou ultérieure. Pour plus d'informations sur la syntaxe de chaîne de connexion, consultez ConnectionString. |
Générateurs de chaînes de connexion
Utilisez le générateur de chaîne de connexion pour votre fournisseur de données.
- SqlConnectionStringBuilder
- OleDbConnectionStringBuilder
- OdbcConnectionStringBuilder
- OracleConnectionStringBuilder
Les générateurs de chaînes de connexion vous permettent de construire des chaînes de connexion valides de manière syntactique au moment de l’exécution. Vous n’avez donc pas besoin de concaténer manuellement les valeurs de chaîne de connexion dans votre code. Pour plus d’informations, voir constructeurs de chaînes de connexion.
Authentification Windows
L'authentification Windows (parfois appelée sécurité intégrée) peut être utilisée pour se connecter aux sources de données qui la prennent en charge. La syntaxe employée dans la chaîne de connexion varie en fonction du fournisseur. Le tableau suivant présente la syntaxe d’authentification Windows utilisée avec ces fournisseurs de données.
| Fournisseur | Syntaxe |
|---|---|
SqlClient |
Integrated Security=true;-- or --Integrated Security=SSPI; |
OleDb |
Integrated Security=SSPI; |
Odbc |
Trusted_Connection=yes; |
OracleClient |
Integrated Security=yes; |
Note
Integrated Security=true lève une exception lors de son utilisation avec le fournisseur OleDb.
Importante
Microsoft vous recommande d’utiliser le flux d’authentification le plus sécurisé disponible. Si vous vous connectez à Azure SQL, les identités managées pour les ressources Azure sont la méthode d'authentification recommandée.
Chaînes de connexion SqlClient
La syntaxe pour une chaîne de connexion SqlConnection est documentée dans la propriété SqlConnection.ConnectionString. La propriété ConnectionString vous permet d'obtenir ou de définir une chaîne de connexion pour une base de données SQL Server. La plupart des mots clés de chaîne de connexion sont aussi mappés à des propriétés dans le SqlConnectionStringBuilder.
Importante
La valeur par défaut du mot clé Persist Security Info est false. L'attribution au mot clé de la valeur true ou yes permet d'obtenir de la connexion des informations sensibles pour la sécurité, par exemple l'ID utilisateur et le mot de passe, une fois la connexion ouverte. En attribuant à Persist Security Info la valeur false, vous avez la garantie que la source qui n'est pas digne de confiance n'aura pas accès aux informations sensibles de la chaîne de connexion.
Authentification Windows avec SqlClient
Chacune des formes de syntaxe suivantes utilise Windows Authentification pour se connecter à la AdventureWorks base de données sur le serveur spécifié.
"Persist Security Info=False;Integrated Security=true;Initial Catalog=AdventureWorks;Server=<server>;Encrypt=true"
"Persist Security Info=False;Integrated Security=SSPI;database=AdventureWorks;server=<server>;Encrypt=true"
"Persist Security Info=False;Trusted_Connection=True;database=AdventureWorks;server=<server>;Encrypt=true"
Importante
Microsoft vous recommande d’utiliser le flux d’authentification le plus sécurisé disponible. Si vous vous connectez à Azure SQL, les identités managées pour les ressources Azure sont la méthode d'authentification recommandée.
Authentification SQL Server avec SqlClient
L'authentification Windows est la solution préférée pour se connecter à SQL Server (instance locale). Cependant, si l'authentification SQL Server est requise, utilisez la syntaxe suivante pour spécifier un nom d'utilisateur et un mot de passe. Dans cet exemple, des astérisques servent à représenter un nom d'utilisateur et un mot de passe valides.
"Persist Security Info=False;User ID=*****;Password=*****;Initial Catalog=AdventureWorks;Server=MySqlServer"
Lorsque vous vous connectez à Azure SQL Database ou à Azure SQL Data Warehouse et fournissez une connexion au format user@servername, assurez-vous que la valeur servername de la connexion correspond à la valeur fournie pour Server=.
Note
L'authentification Windows est prioritaire sur les comptes de connexion SQL Server. Si vous spécifiez Integrated Security=true ainsi qu'un nom d'utilisateur et un mot de passe, ces derniers seront ignorés pour utiliser l'authentification Windows.
Importante
Microsoft vous recommande d’utiliser le flux d’authentification le plus sécurisé disponible. Si vous vous connectez à Azure SQL, les identités managées pour les ressources Azure sont la méthode d'authentification recommandée.
Se connecter à une instance nommée de SQL Server
Pour vous connecter à une instance nommée de SQL Server, utilisez la syntaxe du nom du serveur\nom de l'instance.
"Data Source=<server>\\<instance>;Encrypt=true;"
Vous pouvez également définir la propriété DataSource du SqlConnectionStringBuilder sur le nom d'instance lors de la création d'une chaîne de connexion. La propriété DataSource d'un objet SqlConnection est en lecture seule.
Modifications de la version du système de type
Le mot clé Type System Version dans une propriété SqlConnection.ConnectionString spécifie la représentation côté client des types SQL Server. Pour plus d’informations sur le mot clé Type System Version, consultez SqlConnection.ConnectionString.
Connexion et attachement à des instances utilisateur SQL Server Express
Les instances utilisateur sont une fonctionnalité de SQL Server Express. Elles permettent à un utilisateur qui s'exécute sur un compte Windows local disposant de privilèges minimum de se connecter à une base de données SQL Server et de l'exécuter sans nécessiter de privilèges d'administrateur. Une instance utilisateur s'exécute avec les informations d'identification Windows de l'utilisateur, pas en tant que service.
Pour plus d’informations sur l’utilisation des instances utilisateur, consultez Instances utilisateur SQL Server Express.
Utiliser TrustServerCertificate
Avec Encrypt=true, TrustServerCertificate=true chiffre la connexion, mais ignore la validation du certificat de serveur. Conservez TrustServerCertificate=false pour les connexions de production et configurez un certificat de serveur vérifiable.
"TrustServerCertificate=true;"
Caution
Si vous ignorez la validation du certificat, le client ne peut pas vérifier l’identité du serveur. Avec Encrypt=Strict, Microsoft. Data.SqlClient valide toujours le certificat de serveur et ignore TrustServerCertificate.
Activer le chiffrement
Microsoft.Data.SqlClient a pour valeur par défaut Encrypt=Mandatory, soit l’équivalent de Encrypt=true et TrustServerCertificate=false. Le client requiert le chiffrement et valide le certificat de serveur. Si le certificat n’est pas approuvé ou ne correspond pas au nom du serveur, la connexion échoue.
Pour les connexions à distance, spécifiez Encrypt=true et configurez un certificat de serveur approuvé par le client. Si vous migrez à partir de System.Data.SqlClient, ne supposez pas que ses valeurs par défaut de chiffrement s'appliquent à Microsoft.Data.SqlClient. Pour plus d’informations, consultez Validation du chiffrement et des certificats dans Microsoft.Data.SqlClient.
Chaînes de connexion OleDb
La propriété ConnectionString d'un OleDbConnection vous permet d'obtenir et de définir une chaîne de connexion pour une source de données OLE DB, telle que Microsoft Access. Vous pouvez également créer une chaîne de OleDb connexion au moment de l’exécution à l’aide de la OleDbConnectionStringBuilder classe.
Syntaxe de chaîne de connexion OleDb
Vous devez spécifier un nom de fournisseur pour une chaîne de connexion OleDbConnection. La chaîne de connexion suivante se connecte à une base de données Microsoft Access à l'aide du fournisseur Jet. Notez que les mots clés User ID et Password sont facultatifs si la base de données n'est pas sécurisée (par défaut).
Provider=Microsoft.Jet.OLEDB.4.0; Data Source=d:\Northwind.mdb;User ID=Admin;Password=;
Si la base de données Jet est sécurisée à l'aide d'une sécurité au niveau utilisateur, vous devez fournir l'emplacement du fichier d'informations de groupe de travail (.mdw). Le fichier d'informations de groupe de travail permet de valider les informations d'identification présentées dans la chaîne de connexion.
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\Northwind.mdb;Jet OLEDB:System Database=d:\NorthwindSystem.mdw;User ID=*****;Password=*****;
Importante
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 de .NET Framework. Les fichiers UDL ne sont pas pris en charge pour SqlClient.
Importante
Microsoft vous recommande d’utiliser le flux d’authentification le plus sécurisé disponible. Si vous vous connectez à Azure SQL, les identités managées pour les ressources Azure sont la méthode d'authentification recommandée.
Utilisation de DataDirectory pour se connecter à Access/Jet
DataDirectory n'est pas exclusif à SqlClient. Il peut être aussi utilisé avec les fournisseurs de données .NET System.Data.OleDb et System.Data.Odbc. L’exemple de chaîne OleDbConnection suivant illustre la syntaxe nécessaire pour se connecter au fichier Northwind.mdb situé dans le dossier app_data de l’application. La base de données système (System.mdw) est également stockée à cet emplacement.
"Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=|DataDirectory|\Northwind.mdb;
Jet OLEDB:System Database=|DataDirectory|\System.mdw;"
Importante
Il n'est pas nécessaire de définir l'emplacement de la base de données système dans la chaîne de connexion si la base de données Access/Jet n'est pas sécurisée. La sécurité est désactivée par défaut et tous les utilisateurs se connectent avec le profil intégré d'utilisateur Admin et à l'aide d'un mot de passe vide. Même lorsque la sécurité au niveau utilisateur est correctement implémentée, une base de données Jet reste vulnérable aux attaques. Par conséquent, le stockage d'informations sensibles dans une base de données Access/Jet n'est pas recommandé en raison de la défaillance inhérente de son modèle de sécurité basé sur un fichier.
Se connecter à Excel
Le fournisseur Microsoft Jet permet de se connecter à un classeur Excel. Dans la chaîne de connexion suivante, le mot clé Extended Properties définit des propriétés spécifiques à Excel. « HDR=Yes; » indique que la première ligne contient des noms de colonne, pas des données, et « IMEX=1; » indique au pilote de toujours lire les colonnes de données « intermixed » comme du texte.
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\MyExcel.xls;Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1""
Notez que le caractère guillemet double requis pour Extended Properties doit également être entouré de guillemets doubles.
Syntaxe de chaîne de connexion au fournisseur Data Shape
Utilisez les mots clés Provider et Fournisseur de données lorsque vous utilisez le fournisseur Microsoft Data Shape. L'exemple suivant utilise le fournisseur Shape pour se connecter à une instance locale de SQL Server.
"Provider=MSDataShape;Data Provider=SQLOLEDB;Data Source=(local);Initial Catalog=pubs;Integrated Security=SSPI;"
Importante
Microsoft vous recommande d’utiliser le flux d’authentification le plus sécurisé disponible. Si vous vous connectez à Azure SQL, les identités managées pour les ressources Azure sont la méthode d'authentification recommandée.
Chaînes de connexion Odbc
La propriété ConnectionString d'un OdbcConnection vous permet d'obtenir ou de définir une chaîne de connexion pour une source de données OLE DB. Les chaînes de connexion ODBC sont également prises en charge par le OdbcConnectionStringBuilder.
La chaîne de connexion suivante utilise le pilote Microsoft Text.
Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=d:\bin
Chaînes de connexion Oracle
La propriété ConnectionString d'un OracleConnection vous permet d'obtenir ou de définir une chaîne de connexion pour une source de données OLE DB. Les chaînes de connexion Oracle sont également prises en charge par le OracleConnectionStringBuilder.
Data Source=Oracle9i;User ID=*****;Password=*****;
Pour plus d'informations sur la syntaxe de chaîne de connexion ODBC, consultez ConnectionString.
Importante
Microsoft vous recommande d’utiliser le flux d’authentification le plus sécurisé disponible. Si vous vous connectez à Azure SQL, les identités managées pour les ressources Azure sont la méthode d'authentification recommandée.