asp.net - web.config 中的 SQL 提供程序名称

标签 asp.net sql-server-2005 connection-string

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

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

我们所有的数据访问都是使用 System.Data.SqlClient 完成的 - 因此我们是否应该更改为 providerName=System.Data.SqlClient?我在网上找到了很多有关此providerName的示例,但很少解释providerName=SqlServer的实际含义。

有什么区别吗?我担心我们当前指定的providerName实际上引用了旧版(可能速度较慢)客户端,或者是否有比SqlClient更有效的客户端与ASP.NET一起使用?

最佳答案

System.Data.SqlClient 是 SQL Server 的 .NET Framework 数据提供程序。即 SQL Server 的 .NET 库。

我不知道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

关于asp.net - web.config 中的 SQL 提供程序名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5484771/

相关文章:

c# - 来自另一个数据表的列的数据表子集

sql - 奇怪的 T-SQL if 语句行为

sql-server - SQL Server 2005 中的临时表不会自动删除

c# - 配置系统初始化失败

c# - 如何使用线程启动带参数的方法

c# - 我怎样才能访问 mvc4 中的成员表?

c# - App.config 中的 connectionStrings configSource 不起作用

c# - OLEDB 连接字符串中的 IMEX 是什么?

c# - 在 MVC-3 中发送大量电子邮件

sql-server - T-SQL 脚本删除一个模式中的一组表与另一个模式中的其他表之间的所有关系?