在web.config中的SQL providerName

55

我们正在使用ASP.NET(框架2)并在web.config中设置数据库连接字符串(SQL2005)。

我们目前正在使用“providerName=SqlServer”。

我们所有的数据访问都是使用System.Data.SqlClient完成的,那么我们是否应该改为providerName=System.Data.SqlClient?我在网上找到了许多这个providerName的示例,但很少有解释providerName=SqlServer实际上意味着什么。

有区别吗? 我担心我们当前指定的providerName实际上引用的是一个遗留的(可能更慢的)客户端,或者还有比SqlClient更高效的客户端可用于与ASP.NET一起使用吗?

2个回答

108

System.Data.SqlClient是.NET框架针对SQL Server的数据提供程序,即用于SQL Server的.NET库。

我不知道providerName=SqlServer来自哪里。您是否将此与连接字符串中的提供程序关键字混淆了?(我知道我曾经这样做过:))

在web.config文件中,您应该将System.Data.SqlClient作为providerName属性的值。这是您正在使用的.NET框架数据提供程序。

<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
 WebConfigurationManager.ConnectionStrings["YourConnectionString"].ProviderName;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接