Я использую объект SqlClient.SqlCommand для запуска нескольких хранимых процедур на моем db. Обычно, когда я запускаю их вручную через Query Analyzer, они занимают до 15 минут.Объект SqlCommand - установить его и забыть?
Так что, очевидно, когда я запускаю их с помощью объекта SqlCommand, я получаю тайм-аут SqlCommand.
Я знаю, что могу установить свойство тайм-аута на очень большое число, но мне интересно, если альтернативно есть способ просто запустить procs и отключиться. Мне не нужна возвращаемая стоимость.
Любые предложения? Меня не интересует оптимизация времени обработки каждого sp здесь, просто пытаясь определить, есть ли опция «установить и забыть».
Вот содержание объекта SqlCommand:
using (SqlCommand cmd = new SqlCommand(@"update tbl_SYS_DATE set RPT_DATE = @inputDate
exec sp_Get_Bp_Data1
exec sp_Get_Bp_Data2
exec sp_Get_Bp_Data3
exec sp_channel_data1
exec sp_channel_data2
exec sp_channel_data3
", con))
+1 - избили меня на 22 секунды (но нет ссылки, так кто действительно выиграл? :-)) –
Хорошо быть честным, я прочитал эту страницу, чтобы проверить свой ответ. :) – Jason
Если вы используете этот метод, убедитесь, что вы не поместите свой SqlConnection в предложение using, или соединение будет удалено, прежде чем команда будет выполнена. – Aheho