SQL providerName в web.config - PullRequest
       26

SQL providerName в web.config

51 голосов
/ 30 марта 2011

Мы используем ASP.NET (Framework 2) и задаем строки подключения к базе данных (SQL2005) в web.config.

В настоящее время мы используем "providerName=SqlServer".

Все наши обращения к данным осуществляются с использованием System.Data.SqlClient - поэтому мы должны изменить на providerName=System.Data.SqlClient? Я нахожу в Интернете много примеров этого providerName, но очень мало объясняю, что на самом деле означает providerName = SqlServer.

Есть ли разница? Я обеспокоен тем, что имя провайдера, которое мы в настоящее время указываем, на самом деле ссылается на устаревший (и, возможно, более медленный) клиент или существует еще более эффективный клиент, чем SqlClient, для использования с ASP.NET?

Ответы [ 2 ]

98 голосов
/ 30 марта 2011

System.Data.SqlClient - поставщик данных .NET Framework для SQL Server.т.е. библиотека .NET для SQL Server.

Я не знаю, откуда взялась providerName=SqlServer.Может быть, вы путаете это с ключевым словом провайдера в строке подключения?(Я знаю, что был :))

В файле web.config вы должны иметь System.Data.SqlClient в качестве значения атрибута providerName.Это поставщик данных .NET Framework, который вы используете.

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

См. http://msdn.microsoft.com/en-US/library/htw9h4z3(v=VS.80).aspx

1 голос
/ 14 июля 2017
 WebConfigurationManager.ConnectionStrings["YourConnectionString"].ProviderName;
...