У меня возникла проблема с запуском запроса в нескольких базах данных на Azure SQL Server. Это функция, которую я сделал для возврата DataTable из запроса после его выполнения. Функция принимает имя базы данных в виде строки и вставляет ее в строку conendction вместе с запросом, который должен быть выполнен.Запрос нескольких баз данных SQL Server
Функция работает нормально, когда я запускаю ее один раз, возвращая DataTable, заполненную возвращенными строками, по назначению, но когда я вызываю функцию с помощью инструкции foreach (итерации через список имен базы данных), я получаю ошибку тайм-аута или ошибка с ошибкой входа.
Любая помощь по этому вопросу будет оценена по достоинству.
public static DataTable runQuery(String db, String query)
{
using (SqlConnection con = new SqlConnection("Data Source=server.database.windows.net;Initial Catalog=" + db + ";User [email protected];Password=password"))
{
con.Open();
using (DataTable dt = new DataTable())
{
try
{
SqlCommand cmd = new SqlCommand(query, con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);
cmd.Dispose();
da.Dispose();
}
catch (SqlException ex)
{
MessageBox.Show(ex.Message);
}
return dt;
}
}
}
Установка CommandTimeout в 0 означает "бесконечный". Возможно, попробуйте что-то вроде 600, что составляет 10 минут. (или что-то, что имеет смысл для вашей проблемы). «бесконечный» - это долгое время ... Просто предложение. – granadaCoder
@granadaCoder таймаут теперь 100, Оказывается, проблема была в базе данных SQL, а не на самом деле мой код! – btply