В настоящее время я пытаюсь создать большое количество тестовых данных с многочисленными операторами вставки, используя код, аналогичный ниже ...SqlClient.SqlException: Операция ожидания истекло
using (var connection = new SqlConnection(_connectionString))
{
using (var command = new SqlCommand(query.ToString(), connection))
{
try
{
connection.Open();
command.ExecuteNonQuery();
return true;
}
catch (Exception e)
{
......
}
}
}
Моя проблема заключается в том, что я держу получаю сообщение об ошибке
операция ожидания истекло
и все же, когда я запускаю заявление SQL, что не удалось внутри SQL Server Management Studio, я t выполняется менее чем за 100 мс. Ошибка всегда возникает при вставке в самую большую таблицу, которая в настоящее время имеет 47 738 476 строк и составляет 1,970,696Kb.
Я использую:
Microsoft SQL Server 2012 (SP1) - 11.0.3128.0 (X64)
Express Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)
Любая, помощь была бы оценена.
Для массовых вставок, как правило, лучше использовать [SqlBulkCopy] (http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlbulkcopy (v = vs.110) .aspx) против множества отдельных вставок. – James
Попробуйте установить 'command.CommandTimeout = 0', чтобы увидеть, если он выполняется вообще, если задан более длительный тайм-аут –
Какова настройка« Тайм-аут удаленного запроса »вашего механизма БД? – COLINHY