Double Pass и количество SQL запросов

Обсуждение Stimulsoft Reports.NET
Ответить
DmitryRu
Сообщения: 163
Зарегистрирован: 19 май 2014, 10:40

Double Pass и количество SQL запросов

Сообщение DmitryRu »

Здравствуйте.
У меня в отчете есть источник данных: запрос к SQL Server.
Судя по SQL Profiler, при включении у отчета св-ва "Number Of Pass" = "Double Pass", все SQL запросы начинают выполняться 2 раза.
Очень хотелось бы избежать повторного исполнения SQL запросов, по очевидным причинам.
Но при этом отказаться от двух проходов при построении отчета не могу. В документации сказано, что переменная TotalPageCount работает только в режиме двух проходов.

Есть ли у меня варианты уменьшить нагрузку на SQL Server?
Используется Designer.exe ver 2015.3.7

С уважением,
Дмитрий.
Aleksey
Сообщения: 2907
Зарегистрирован: 22 апр 2010, 06:57

Re: Double Pass и количество SQL запросов

Сообщение Aleksey »

Здравствуйте,

К сожалению, на данный момент, вариантов нет. Есть данная задача в нашем списке дел, но пока не реализована.

Спасибо.
DmitryRu
Сообщения: 163
Зарегистрирован: 19 май 2014, 10:40

Re: Double Pass и количество SQL запросов

Сообщение DmitryRu »

Я ставлю во всех отчетах "Number Of Pass" = "Double Pass", потому что, насколько помню, мне Report Checker выдавал иногда предупреждения, что TotalPageCount может некорректно считаться для однопроходных отчетов.
Сейчас сбросил кол-во проходов для пары отчетов на один проход, Warning не появился, и вроде надпись "стр. 3 из 10" формируется правильно.
Есть ли какая-то информация, когда TotalPageCount может вычисляться не правильно при одном проходе?
Возможно, для простых отчетов достаточно одного прохода для вычисления общего кол-ва страниц?

Спасибо.
Aleksey
Сообщения: 2907
Зарегистрирован: 22 апр 2010, 06:57

Re: Double Pass и количество SQL запросов

Сообщение Aleksey »

Здравствуйте,

Если вам необходимо просто вывести данные значения, то одного прохода будет достаточно. Если вы их используте в каких то выражениях или условиях, то необходимо уже два прохода, так как эти значения вычисляются в конце первого прохода.

Спасибо.
Ответить