Компания, в которой я работаю, использует MacolaES для системы ERP. База данных SQL Server структурирована таким образом, что когда вещи больше не считаются активными, они перемещаются из набора «активных» таблиц в набор «исторических» таблиц. Это помогает сохранить «активные» таблицы достаточно маленькими, чтобы запросы быстро возвращались. С другой стороны, таблицы истории огромны. Соответствующие столбцы индексируются в этих таблицах, и если вы запрашиваете что-то конкретное, оно быстро возвращается.Запрошенные параметрические отчеты Crystal Reports
Проблема заключается в том, что вы создаете Crystal Report, который запрашивает у пользователя параметр. По неизвестным мне причинам параметры Crystal не переводятся в параметры SQL, поэтому вы получаете запросы, выбирающие все из таблицы истории заголовков заказов, соединенных со всем в таблице истории строк заказов, что приводит к более чем 8 миллионам строк.
Есть ли способ получить Crystal Reports для использования параметров в SQL-запросе вместо загрузки всех записей и фильтрации после факта? Я где-то читал, что хранимая процедура должна работать, но мне любопытно, возможен ли обычный параметризованный запрос в интересах экономии моего времени.
Вот формула выбора:
(
trim({Orderheader.ord_no}) = {?Order No}
)
and
(
{Orderheader.ord_type} = 'O'
)
and
(
{orderlines.ord_type} = 'O'
)
Это зависит от типа формулы выбора записи и может быть преобразовано в предложение sql where. Используете ли вы какие-либо специальные операторы, которые не переходят на sql, например 'if' или любую функцию кристалла? – dotjoe
Нет, просто используя логическое И. – Scott
Вы пытались удалить отделку из своей формулы? –