I replaced the original code with the following:
NpgsqlDataAdapter npgsqlDataAdapter = (NpgsqlDataAdapter)adapter;
using (IDbConnection connection = npgsqlDataAdapter.SelectCommand.Connection)
{
connection.Open();
using (IDataReader reader = npgsqlDataAdapter.SelectCommand.ExecuteReader())
{
table.Load(reader, LoadOption.OverwriteChanges);
reader.Close();
}
connection.Close();
}
and still got the same sporadic error with the following trace:
Npgsql.NpgsqlException: Failed to establish a connection to '
someserver.rds.amazonaws.com'. at Npgsql.NpgsqlClosedState.Open(NpgsqlConnector context, Int32 timeout) at Npgsql.NpgsqlConnector.Open() at Npgsql.NpgsqlConnectorPool.GetPooledConnector(NpgsqlConnection Connection) at Npgsql.NpgsqlConnectorPool.RequestPooledConnectorInternal(NpgsqlConnection Connection) at Npgsql.NpgsqlConnectorPool.RequestConnector(NpgsqlConnection Connection) at Npgsql.NpgsqlConnection.Open() at Durados.DataAccess.PostgreAccess.Fill(IDataAdapter adapter, DataTable table) at Durados.DataAccess.SqlAccess.FillDataTable(View view, Int32 page, Int32 pageSize, Filter filter, String sortColumn, DataSet dataSet, SortDirection direction, Int32& totalRowCount, ParentField parentField, String join, String selectStatement, BeforeSelectEventHandler beforeSelectCallback, AfterSelectEventHandler afterSelectCallback) at Durados.DataAccess.SqlAccess.FillDataTable(View view, Int32 page, Int32 pageSize, Filter filter, String sortColumn, SortDirection direction, Int32& totalRowCount, ParentField parentField, String join, BeforeSelectEventHandler beforeSelectCallback, AfterSelectEventHandler afterSelectCallback) at Durados.DataAccess.SqlAccess.FillPage(View view, Int32 page, Int32 pageSize, Filter filter, Nullable`1 search, Nullable`1 useLike, Dictionary`2 sortColumns, Int32& rowCount, BeforeSelectEventHandler beforeSelectCallback, AfterSelectEventHandler afterSelectCallback) at Durados.DataAccess.SqlAccess.FillPage(View view, Int32 page, Int32 pageSize, Dictionary`2 values, Nullable`1 search, Nullable`1 useLike, Dictionary`2 sortColumns, Int32& rowCount, BeforeSelectEventHandler beforeSelectCallback, AfterSelectEventHandler afterSelectCallback) at Durados.Web.Mvc.UI.Helpers.RestHelper.Get(View view, Boolean withSelectOptions, Boolean withFilterOptions, Int32 page, Int32 pageSize, Dictionary`2[] filter, String search, Dictionary`2[] sort, Int32& rowCount, Boolean deep, BeforeSelectEventHandler beforeSelectCallback, AfterSelectEventHandler afterSelectCallback, Boolean returnDataView, Boolean descriptive) at BackAnd.Web.Api.Controllers.viewDataController.Get(String name, Nullable`1 withSelectOptions, Nullable`1 withFilterOptions, Nullable`1 pageNumber, Nullable`1 pageSize, String filter, String sort, String search, Nullable`1 deep, Boolean descriptive)
I could not reproduce outside .net
The code is running on a win2012 server