You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET框架EF实现SQL Server Azure AD服务主体认证遇异常求助

问题解决方案

核心错误原因

你把EF连接字符串里的provider指定错了:System.Data.EntityClient是EF的包装提供程序,它本身不直接连接SQL Server,而是依赖底层的SQL Server原生提供程序(比如System.Data.SqlClient或Microsoft.Data.SqlClient)。你需要把provider改为实际的SQL Server数据提供程序。

具体修复步骤

  1. 修正EF连接字符串的Provider字段
    把provider=System.Data.EntityClient替换为对应的SQL Server提供程序:

    • 若使用.NET Framework传统版本,用System.Data.SqlClient
    • 若升级到新的Microsoft.Data.SqlClient包,用Microsoft.Data.SqlClient

    修正后的完整EF连接字符串示例(以System.Data.SqlClient为例):

    metadata=res://*/DemoDB.csdl|res://*/DemoDB.ssdl|res://*/DemoDB.msl;provider=System.Data.SqlClient;provider connection string='Server=DemoDB.database.windows.net; Authentication=Active Directory Service Principal; Encrypt=True; Database=SQLDevDB; MultipleActiveResultSets=True; User Id=*****; Password=*****'
    
  2. 确保配置文件中注册了对应提供程序
    检查app.config或web.config,确认存在对应的提供程序注册项(若没有则手动添加):

    <configuration>
      <system.data>
        <DbProviderFactories>
          <add name="SqlClient Data Provider" invariant="System.Data.SqlClient" description=".NET Framework Data Provider for SQL Server" type="System.Data.SqlClient.SqlClientFactory, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
          <!-- 若使用Microsoft.Data.SqlClient,添加以下项 -->
          <!-- <add name="Microsoft SqlClient Data Provider" invariant="Microsoft.Data.SqlClient" description=".NET Data Provider for SQL Server" type="Microsoft.Data.SqlClient.SqlClientFactory, Microsoft.Data.SqlClient, Version=5.0.0.0, Culture=neutral, PublicKeyToken=23ec7fc2d6eaa4a5" /> -->
        </DbProviderFactories>
      </system.data>
    </configuration>
    
  3. 验证依赖包版本

    • 若用System.Data.SqlClient,确保项目引用了EntityFramework和System.Data相关程序集
    • 若用Microsoft.Data.SqlClient,需安装EntityFramework.SqlServer包以适配新的SqlClient,同时保证版本兼容

额外注意事项

  • 确认你的ADO.NET连接字符串本身有效(你已验证过这一点,无需重复测试)
  • 确保Azure AD服务主体拥有对应SQL Server数据库的权限(比如db_datareader、db_datawriter或更高权限)

内容的提问来源于stack exchange,提问作者Saurabh Agrawal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 23:32:39