gpt4 book ai didi

c# - Npgsql : is the server down or a bad password?

转载 作者:太空狗 更新时间:2023-10-29 23:13:48 24 4
gpt4 key购买 nike

我正在尝试从我的 C# 应用程序连接到 PostgreSQL 数据库,如下所示:

NpgsqlConnection MyConnection = new           
NpgsqlConnection("Server=localhost;Port=5432;User Id=postgres;Password=mypassword;Database=mydatabase;");
try
{
MyConnection.Open();
}
catch (NpgsqlException pe)
{
//Code "28P01" = user name or password is wrong
// server ip or port is wrong
}

问题是:NpgsqlException.code 不区分以下情况:

  1. 服务器ip/端口号错误
  2. 用户名密码组合错误

两种情况下都会返回代码“28P01”。显然 Npgsql 可以看到服务器在那里并响应一些数据表明错误的用户名或密码(上面的条件 #2)或者似乎没有人在那里(上面的条件 #1)

我如何区分代码中的这两种情况?

最佳答案

使用 Npgsql v 3.0.2.0(不确定旧版本)如果 IP/主机名错误,将抛出代码 =-2146233083 的异常。但是,如果 IP/主机名正确但端口号错误,则抛出异常代码 = -2147467259。如果 IP/端口正确但用户名/密码错误,将抛出代码为“28P01”的 NpgsqlException。

关于c# - Npgsql : is the server down or a bad password?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32408214/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com