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

.NET Core 7下用POCO连接SQL Server遇加载及连接错误求助

解决POCO连接本地SQL Server(.NET Core 7)的问题

针对你遇到的Failed to load provider "System.Data.SqlClient"及连接失败错误,结合你已确认的配置(远程访问开启、TCP/IP启用、SQL Server服务运行),提供以下解决步骤:

  • 替换过时的SqlClient驱动
    .NET Core 7中System.Data.SqlClient已被官方弃用,推荐使用Microsoft.Data.SqlClient。先通过NuGet安装该包:

    Install-Package Microsoft.Data.SqlClient
    # 或使用dotnet CLI
    dotnet add package Microsoft.Data.SqlClient
    

    同时将连接字符串中的ProviderName从System.Data.SqlClient改为Microsoft.Data.SqlClient。

  • 修正连接字符串格式
    本地SQL Server连接需匹配实例类型,示例格式如下:

    • 默认实例:
      Server=(local);Database=你的数据库名;Trusted_Connection=True;TrustServerCertificate=True;
      
    • 命名实例:
      Server=(local)\你的实例名;Database=你的数据库名;Trusted_Connection=True;TrustServerCertificate=True;
      

    其中TrustServerCertificate=True用于跳过本地开发环境的证书验证,避免连接拦截。

  • 检查POCO配置一致性
    确保POCO的连接配置(如appsettings.json)中无拼写错误,实例名、数据库名、Provider名称需与实际环境完全匹配。示例配置:

    "ConnectionStrings": {
      "LocalDbConn": "Server=(local);Database=DemoDb;Trusted_Connection=True;TrustServerCertificate=True;ProviderName=Microsoft.Data.SqlClient"
    }
    
  • 验证本地连接有效性

    • 用SQL Server Management Studio(SSMS)使用相同的连接参数(实例名、认证方式)尝试连接,确认数据库可正常访问。
    • 检查Windows防火墙是否放行SQL Server默认端口(1433),即使本地连接也可能因端口拦截导致失败。
    • 若使用SQL Server认证,需在连接字符串中添加User ID=你的用户名;Password=你的密码;,并确保该账号拥有目标数据库的访问权限。

内容的提问来源于stack exchange,提问作者Adam Bajes

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 12:10:29