【问题标题】:when to specify providerName="System.Data.SqlClient" in a connection string何时在连接字符串中指定 providerName="System.Data.SqlClient"
【发布时间】:2011-07-30 17:51:09
【问题描述】:

我遇到了在NT AUTHORITY\LOCAL SYSTEM 下运行的 Windows 服务的问题,该服务无法连接到数据库。

Login failed for user 'NT AUTHORITY\LOCAL SERVICE'. Reason: Failed to open the explicitly specified database.

为此特定服务指定的连接字符串与在同一帐户下运行的另一个服务之间的唯一区别是缺少providerName 属性。一旦我添加了

providerName="System.Data.SqlClient"

服务可以访问数据库的连接字符串。谁能解释为什么会这样?我认为 System.Data.SqlClient 是默认提供程序。

【问题讨论】:

  • 你是如何使用这个连接字符串的? SqlConnection、DbContext...?

标签: connection-string sqlclient


【解决方案1】:

当您想使用 SQLClient 提供程序来管理连接时。 SQLClient 提供程序管理与 Microsoft SQL Server 的连接。

Here is a code example

您永远必须指定它,因为它也是提供者的default value

【讨论】:

    猜你喜欢
    • 2014-02-26
    • 1970-01-01
    • 2013-09-08
    • 2014-07-25
    • 2016-12-30
    • 2014-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多