ASP.NET Core连接Heroku PostgreSQL报nodename nor servname错误如何解决?
错误根因
核心错误为DNS解析失败,你本地开发环境无法解析配置的Heroku PostgreSQL主机地址,导致数据库连接无法建立,触发调用接口时报错。
解决步骤
- 先验证主机连通性
打开Mac终端执行命令:nslookup c2-52-2-118-38.compute-1.amazonaws.com,如果返回解析失败结果,说明你当前网络无法访问该Heroku托管的AWS主机,可尝试关闭代理、防火墙,或切换手机热点后重试。 - 修改数据库连接串
Heroku PostgreSQL强制要求SSL连接,你当前配置的连接串缺少SSL参数,且Integrated Security=true配置不适用于外部PostgreSQL服务,修改appsettings.json里的连接串为:
注意替换"DbConnection": "User Id=ajdrmyhilrvkcd;Database=denu3og6hclbt2;Host=c2-52-2-118-38.compute-1.amazonaws.com;Port=5432;Password=你的真实数据库密码;SSL Mode=Require;Trust Server Certificate=true;Pooling=true;"Password字段为实际的数据库密码,同时将原小写的port改为大写Port,避免Npgsql驱动出现参数识别兼容问题。 - 提前验证连接有效性
先用本地PostgreSQL客户端工具(如psql、DBeaver、Navicat)测试连接对应数据库,确认连接信息正确、网络可达后,再启动后端项目调用接口测试。
内容的提问来源于stack exchange,提问作者Leonardo Ferrer
相关产品推荐
相关产品推荐

