web-dev-qa-db-fra.com

SQL providerName dans web.config

Nous utilisons ASP.NET (Framework 2) et définissons des chaînes de connexion à la base de données (SQL2005) dans web.config.

Nous utilisons actuellement "providerName=SqlServer".

Tous nos accès aux données se font avec System.Data.SqlClient - devrions-nous donc changer pour providerName=System.Data.SqlClient? Je trouve de nombreux exemples de ce nom de fournisseur sur le Web, mais très peu d'explications sur ce que signifie nom de fournisseur = SqlServer.

Y a-t-il une différence? Je crains que le nom de fournisseur que nous spécifions actuellement ne fasse référence à un client hérité (et peut-être plus lent), ou existe-t-il un client encore plus efficace que SqlClient à utiliser avec ASP.NET?

47
Ali

System.Data.SqlClient est le fournisseur de données .NET Framework pour SQL Server. c'est-à-dire la bibliothèque .NET pour SQL Server.

Je ne sais pas d'où provient providerName=SqlServer. Est-ce que cela pourrait être confondu avec le mot clé fournisseur dans votre chaîne de connexion? (Je sais que j'étais :))

Dans le fichier web.config, vous devriez avoir le System.Data.SqlClient comme valeur de l'attribut providerName. C'est le fournisseur de données .NET Framework que vous utilisez.

<connectionStrings>
   <add 
      name="LocalSqlServer" 
      connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" 
      providerName="System.Data.SqlClient"
   />
</connectionStrings>

Voir http://msdn.Microsoft.com/en-US/library/htw9h4z3(v=VS.80).aspx

92
Adrian Toman
 WebConfigurationManager.ConnectionStrings["YourConnectionString"].ProviderName;
0
Paul Volkov