web-dev-qa-db-ja.com

web.configのSQL providerName

ASP.NET(Framework 2)を使用し、web.configでデータベース接続文字列(SQL2005)を設定しています。

現在、「providerName=SqlServer」を使用しています。

すべてのデータアクセスはSystem.Data.SqlClientを使用して行われます。したがって、providerName=System.Data.SqlClientに変更する必要がありますか?このproviderNameの例はウェブ上にたくさんありますが、providerName = SqlServerの実際の意味をほとんど説明していません。

違いはありますか?現在指定しているproviderNameが実際にレガシ(およびおそらく遅い)クライアントを参照しているのか、またはASP.NETで使用するためにSqlClientよりもさらに効率的なクライアントがあるのか​​心配です。

51
Ali

System.Data.SqlClientは、SQL Server用の.NET Frameworkデータプロバイダーです。すなわち、SQL Server用の.NETライブラリ。

どこで_providerName=SqlServer から来た。これを接続文字列のproviderキーワードと混同していませんか? (私は私が知っていた:))

Web.configには、System.Data.SqlClientはproviderName属性の値として。使用している.NET Framework Data Providerです。

<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 を参照してください

100
Adrian Toman
 WebConfigurationManager.ConnectionStrings["YourConnectionString"].ProviderName;
1
Paul Volkov