Я создаю автоматизированную Очередь Выполнения запросов DB, которая по существу подразумевает, что я создаю Очередь SQL-запросов, которые выполняются один за другим.
Запросы выполнены с помощью кода, подобного следующему:
using (SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["NorthwindConnectionString"].ConnectionString))
{
cn.Open();
using (SqlCommand cmd = new SqlCommand("SP", cn))
{
cmd.CommandType = CommandType.StoredProcedure;
using (SqlDataReader dr = cmd.ExecuteReader())
{
while (dr.Read())
{
}
}
}
}
То, что я хотел бы сделать, собирают столько информации, сколько я могу о выполнении. Сколько времени это взяло. Сколько строк было затронуто.
Самое главное, если это ПЕРЕСТАЛО РАБОТАТЬ, почему это перестало работать.
Действительно любой вид информации, которую я могу получить о выполнении, которое я хочу смочь сохранить.
Попробуйте использовать встроенные статистические данные для времени выполнения и выбранных строк / затронутых:
using (SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["NorthwindConnectionString"].ConnectionString))
{
cn.Open();
cn.StatisticsEnabled = true;
using (SqlCommand cmd = new SqlCommand("SP", cn))
{
cmd.CommandType = CommandType.StoredProcedure;
try
{
using (SqlDataReader dr = cmd.ExecuteReader())
{
while (dr.Read())
{
}
}
}
catch (SqlException ex)
{
// Inspect the "ex" exception thrown here
}
}
IDictionary stats = cn.RetrieveStatistics();
long selectRows = (long)stats["SelectRows"];
long executionTime = (long)stats["ExecutionTime"];
}
см. В MSDN .
Единственный способ, которым я вижу, вы узнаете, как что-то не сможет проверить SQLException
, брошенный и глядя на детали.
, пока я немного не уверен, что ваш вопрос, с тем, чтобы я имею в виду, если вы хотите Список статистических данных, которые могут быть полезны для сэкономики или как упомянуть, как упоминать статистику.
SqldataReader имеет свойства .recordSabfected
и .FieldCount
, который рассказывает вам немного о том, сколько данных было возвращено.
Вы также можете поймать SQLException
, чтобы узнать некоторую информацию о том, что (если что-то) пошло не так.