我试图PostgreSQL从我的c#应用程序连接到数据库,如下所示:
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
}
Run Code Online (Sandbox Code Playgroud)
问题是:NpgsqlException.code不区分以下条件:
在这两种情况下都返回代码"28P01".显然Npgsql可以看到服务器在那里并且响应了一些数据,表明用户名或密码错误(上面的条件#2)或似乎没有人(上面的条件#1)
如何区分我的代码中的这2个案例?