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

4

我遇到了一个问题,一个运行在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 还是其他方式? - Jared Moore
1个回答

0

当您想要使用SQLClient提供程序来管理连接时。 SQLClient提供程序管理到Microsoft SQL服务器的连接。

这里是一个代码示例

您永远不需要明确指定它,因为它也是提供程序的默认值


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