我想從我的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數據庫! –