System.Net.Sockets.SocketException при подключении postgres - PullRequest
0 голосов
/ 02 декабря 2018

У меня есть это приложение, где я подключаюсь к БД Postgres.У меня есть функция подключения, но каждый раз, когда я пытаюсь подключиться к БД, я получаю исключение:

{System.Net.Sockets.SocketException (0x80004005): Соединение отклонено в Npgsql.NpgsqlConnector.Connect(Тайм-аут Npgsql.NpgsqlTimeout) [0x001f5] в C: \ projects \ npgsql \ src \ Npgsql \ NpgsqlConnector.cs: 733 в Npgsql.NpgsqlConnector + d__153.MoveNext () [0x005a0 \ np \ nsg} в псевдонимах:\ NpgsqlConnector.cs: 648 --- Конец трассировки стека из предыдущего расположения, где было сгенерировано исключение --- в Npgsql.NpgsqlConnector + d__149.MoveNext () [0x003e1] в C: \ projects \ npgsql \ src \ Npgsql \ NpgsqlConnector.cs: 455 --- Конец трассировки стека из предыдущего места, где было сгенерировано исключение --- в Npgsql.ConnectorPool + d__19.MoveNext () [0x001cf] в C: \ projects \ npgsql \ src \ Npgsql \ ConnectorPool.cs: 300--- Конец стека трассировки от предыдущего местоположения, где было сгенерировано исключение --- в System.Threading.Tasks.ValueTask 1[TResult].get_Result () [0x00022] in <1d288dd8ebaf4c6f890e1e99a5a184f0>:0 at System.Runtime.CompilerServices.ValueTaskAwaiter 1 [TResult] .GetResult () [0x00000] в <1d288dd8ebaf4c6f890e1e99a5a184f0>: 0 в Npgsql.NpgSqlConnection + <> c__DisplayClass32_0 +d.MoveNext () [0x0046d] в C: \ projects \ npgsql \ src \ Npgsql \ NpgsqlConnection.cs: 331 --- Конец трассировки стека из предыдущего местоположения, в котором было сгенерировано исключение --- в Npgsql.NpgsqlConnection.Open ()[0x00000] в C: \ projects \ npgsql \ src \ Npgsql \ NpgsqlConnection.cs: 153 в App1.MainPage.conexao () [0x00054] в C: \ Users \ Mario \ Documents \ projetos \ App1 \ App1 \ App1 \ MainPage.xaml.cs: 40}

вот код, который я пытаюсь использовать:

   private void conexao()
    {
        NpgsqlConnection pgsqlConnection = null;
        var connString = string.Format("Server={0};Port={1};User Id={2};Password={3};Database={4};",
                                             serverName, port, userName, password, databaseName);
        DataTable dt = new DataTable();

        try
        {
            using (pgsqlConnection = new NpgsqlConnection(connString))
            {
                usuario usuario = new usuario();
                // abre a conexão com o PgSQL e define a instrução SQL
                pgsqlConnection.Open();
                string cmdSeleciona = "Select * from funcionarios order by id_funcionario";
                List<string> lista = new List<string>();
                NpgsqlCommand cmd = new NpgsqlCommand(cmdSeleciona, pgsqlConnection);
                var reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    usuario.nome_funcionario = reader["nome_funcionario"].ToString();
                    usuario.email = reader["email"].ToString();
                }
                //using (NpgsqlDataAdapter Adpt = new NpgsqlDataAdapter(cmdSeleciona, pgsqlConnection))
                //{
                //}
            }
        }
        catch (NpgsqlException ex)
        {
            throw ex;
        }
        catch (Exception ex)
        {
            throw ex;
        }
        finally
        {
            pgsqlConnection.Close();
        }
    }

Исключение происходит: pgsqlConnection.Open();

...