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

NuGet包管理器控制台执行Update-Database命令报错求助

Update-Database 连接错误问题分析与解决

问题根源

你使用的ElephantSQL是PostgreSQL托管服务,但全程误用了SQL Server的连接字符串格式和驱动,导致两次错误:

  1. 第一次错误:Format Of The Initialization String Does Not Conform To Specification
    初始连接字符串是PostgreSQL的URI格式,但项目默认用SQL Server驱动,无法识别该格式,因此报错。
  2. 第二次错误:SQL Server连接失败
    你改成了SQL Server标准连接字符串,但实际要连接的是PostgreSQL服务器,驱动不匹配导致SQL Server客户端无法连接PostgreSQL服务。

解决步骤

1. 安装PostgreSQL的EF Core驱动

在NuGet包管理器控制台执行:

Install-Package Npgsql.EntityFrameworkCore.PostgreSQL

2. 修改连接字符串为PostgreSQL格式

二选一即可:

  • URI格式:
    "ConnectionStrings": {
      "sqlserver": "postgres://user123:password123@surus.db.elephantsql.com:5432/nvlohuqx"
    }
    
  • 键值对格式:
    "ConnectionStrings": {
      "sqlserver": "Host=surus.db.elephantsql.com;Database=nvlohuqx;Username=user123;Password=password123;Port=5432"
    }
    

3. 配置DbContext使用PostgreSQL驱动

在项目配置文件(如Program.cs)中,将DbContext的驱动改为PostgreSQL:

builder.Services.AddDbContext<YourDbContext>(options =>
    options.UseNpgsql(builder.Configuration.GetConnectionString("sqlserver")));

完成以上步骤后,重新执行Update-Database即可正常连接数据库。

内容的提问来源于stack exchange,提问作者Marco Maher

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 17:10:39