何时在连接字符串中指定 providerName="System.Data.SqlClient"
Posted
技术标签:
【中文标题】何时在连接字符串中指定 providerName="System.Data.SqlClient"【英文标题】:when to specify providerName="System.Data.SqlClient" in a connection string 【发布时间】: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...? 【参考方案1】:当您想使用 SQLClient 提供程序来管理连接时。 SQLClient 提供程序管理与 Microsoft SQL Server 的连接。
Here is a code example
您永远必须指定它,因为它也是提供者的default value。
【讨论】:
以上是关于何时在连接字符串中指定 providerName="System.Data.SqlClient"的主要内容,如果未能解决你的问题,请参考以下文章