何时在连接字符串中指定providerName =“System.Data.SqlClient”

时间:2011-04-06 11:18:43

标签: connection-string sqlclient

我在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是默认的提供者。

1 个答案:

答案 0 :(得分:0)

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

Here is a code example

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