У меня есть сайт, который запрашивает базу данных as / 400 для получения определенных фрагментов информации, включая один небольшой фрагмент информации о зарегистрированном пользователе.
Из-за этого as / 400 запрашивается всякий раз, когда пользователь регистрируется в новом сеансе.
Я получаю отдельные сообщения об ошибке сервера A communication error occurred
, особенно когда люди выходят в систему по выходным.
Если вы нажмете клавишу f5 и обновите страницу, ошибка исчезнет, и все будет отлично.
Кто-нибудь знает, почему я получаю эту ошибку?
Я думал, что поскольку f5 устраняет ошибку, я могу просто повторить любой запрос, который по этой причине не удался, но я не хочу начинать без более глубокого понимания ситуации.
Я просмотрел пользовательские документы IBM и довольно много поискал в Google и ничего не нашел.
редактировать
Соединение устанавливается с помощью IBM.Data.DB2.iSeries
драйверов для Windows версии 12.
Код подключения выглядит примерно так:
public DataSet RetrieveDataSet(string sql)
{
DataSet ds = new DataSet();
iDB2Connection con = new iDB2Connection();
iDB2DataAdapter da = null;
try
{
con.ConnectionString = ConnectionString;
con.Open();
da = new iDB2DataAdapter(sql, con);
da.Fill(ds);
}
catch (Exception ex)//yes i am aware this should not be catching the base exception
{
LogError("AS400Connection", "RetrieveAll", ex.Message, sql, ex.StackTrace, con.JobName.Trim());
throw;
}
finally
{
if (con.State == ConnectionState.Open)
con.Close();
if(da!=null)
da.Dispose();
con.Dispose();
ds.Dispose();
}
return ds;
}
Строка da.Fill(...)
вызывает исключение Ошибка связи.