Я получил эту ошибку на сервере, не находящемся в локальной сети и при столкновении с этой ошибкой, затем повторно загружаю связанный файл класса. после решения этой проблемы, но не навсегда.Ошибка в «executenonquery» сервера требует открытого и доступного соединения «
Ошибка: не
executenonquery requires an open and available connection. The connection's current state is open.
Код:
int n;
try
{
using (SqlCommand cmd = new SqlCommand())
{
cmd.Connection = DataConnection.Con;
cmd.CommandText = "sp_InsertUpdateDeleteValidationDate";
cmd.CommandType = CommandType.StoredProcedure; cmd.CommandTimeout = 0;
cmd.Parameters.AddWithValue("@Task", "CheckExist");
cmd.Parameters.AddWithValue("@id", 0);
cmd.Parameters.AddWithValue("@AdId", "");
cmd.Parameters.AddWithValue("@Username", "");
cmd.Parameters.AddWithValue("@DOE", DOE);
cmd.Parameters.AddWithValue("@ExpieryDate", DateTime.Now);
cmd.Parameters.AddWithValue("@DOR", DateTime.Now);
cmd.Parameters.Add("@flag", SqlDbType.Int).Direction = ParameterDirection.Output;
if (cmd.Connection.State == ConnectionState.Closed)
{
cmd.Connection.Open();
}
cmd.ExecuteNonQuery();
n = Convert.ToInt32(cmd.Parameters["@flag"].Value);
return n;
}
}
catch (SqlException Ex)
{
return 0;
}
что DataConnection? – lockstock
это может помочь http://stackoverflow.com/questions/9705637/executereader-requires-an-open-and-available-connection-the-connections-curren – lockstock
общественного класс DataConnection { частного статического SqlConnection SqlCon = нового SqlConnection (ConfigurationManager.ConnectionStrings [ "подключ"] ConnectionString). public static SqlConnection Con { Получать { { возвращение SqlCon; } } } – Boktiar