我想从我的C#应用程序连接到数据库PostgreSQL
像这样:Npgsql:是服务器关闭还是密码错误?
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
}
的问题是:
- 服务器IP /端口号:NpgsqlException.code不下列条件区分是错误的
- 用户名和密码组合是错误的
代码“28P01”在两种情况下都会返回。显然Npgsql可以看到服务器在那里,并且响应一些表示不良用户名或密码(上述条件#2)或没有人似乎在那里(条件#1)的数据
如何区分这两种情况在我的代码?
你可以尝试手动打开TCP连接... –
是的,但那只会告诉我有什么东西在监听端口。我不会告诉我什么在听。例如那里可能有MySQL数据库! –