У меня есть сервер, который выполняет SQL-запросы к Azure SQL Server с использованием ADO.NET
Когда я пытаюсь выполнить определенный запрос на своем сервере (с помощью ADO.NET), я получаю сообщение об ошибке тайм-аута,но когда я выполняю тот же запрос SQL Server, я получаю результаты через 1-2 секунды.
Я попытался увеличить время ожидания в строке подключения и в объекте SqlCommand
без результатов.
Я нашел одно потенциальное решение для изменения времени ожидания в объекте SqlCommand
на 0
, я пытался и получал результаты через долгое время, но он работает только на моей локальной машине, а не на моем рабочем сервере
Это код, который я использую на своем сервере для интеграции моей БД:
using (var connection = new SqlConnection(ConnectionString))
{
var command = new SqlCommand
{
CommandText = query
};
foreach ( var parameter in parameters)
command.Parameters.AddWithValue(parameter.Key, parameter.Value ?? Convert.DBNull);
command.Connection = connection;
try
{
_logger.Info("Open connection to db");
connection.Open();
_logger.Info("Execute command");
SqlDataReader reader = command.ExecuteReader();
List<Column> columns = CreateColumnList(reader);
}
catch (Exception e)
{
_logger.Error(e);
}
}
Это сообщение об исключении, которое я получаю:
Время ожидания довыполнение истекло.Период ожидания истек до завершения действия или сервер не отвечает