У меня есть хранимая процедура, которая при вызове из SSMS занимает около 10 секунд и выполняется успешно. Процедура принимает в качестве параметра int
.
При вызове той же хранимой процедуры из кода:
using (var connection = new SqlConnection(ConnectionStringName))
{
using (var cmd = new SqlCommand("ProcedureName", connection))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("@itemId", itemId));
cmd.CommandTimeout = 150;
connection.Open();
cmd.ExecuteNonQuery();
}
}
Я получаю следующую ошибку:
System.Data.SqlClient.SqlException (0x80131904): Timeout expired.
The timeout period elapsed prior to completion of the operation or the server is not responding. --->
System.ComponentModel.Win32Exception (0x80004005): The wait operation timed out
Переданный параметр действителен, и при вызове хранимой процедуры из SSMS с тем же значением параметра она выполняется правильно.
cmd.CommandTimeout = 0;
, вы никогда не увидите эту ошибку, но ваша проблема находится внутри вашей хранимой процедуры, которая требует некоторых изменений;). - person shA.t   schedule 10.06.2015