powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / SSRS and SP
14 сообщений из 14, страница 1 из 1
SSRS and SP
    #39849728
Фотография medoed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Недавно начал разбираться с SQL Reporting Services, вещь красивая, но некоторые вещи сразу ввели в ступор...
Верно ли я понимаю, что для отчета SSRS , если он базируется на хранимой процедуре - можно использовать только один (первый) RecordSet?
ссылка

Reporting Services supports stored procedures that return only one set of data. If a stored procedure returns multiple result sets, only the first one is used.

В текущей архитектуре у меня часто бывает два и более вывода данных из SP , например заголовочная часть и сами данные.
Получается, если в качестве средства отчетов я выберу SSRS, то мне надо переписывать все отчёты?

Как вы с этим живёте , может быть это в последних версиях исправлено или вы юзаете 1-н отчет -> 1-хранимка или вовсе отказались от хранимок и пользуетесь select - ами (ORM средства например генерят автоматические запросы)?
Вообщем на моём первом свидании с SSRS случился конфуз, как быть? :-(
...
Рейтинг: 0 / 0
SSRS and SP
    #39849742
Minamoto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
medoedНедавно начал разбираться с SQL Reporting Services, вещь красивая, но некоторые вещи сразу ввели в ступор...
Верно ли я понимаю, что для отчета SSRS , если он базируется на хранимой процедуре - можно использовать только один (первый) RecordSet?
ссылка

Reporting Services supports stored procedures that return only one set of data. If a stored procedure returns multiple result sets, only the first one is used.

В текущей архитектуре у меня часто бывает два и более вывода данных из SP , например заголовочная часть и сами данные.
Получается, если в качестве средства отчетов я выберу SSRS, то мне надо переписывать все отчёты?

Как вы с этим живёте , может быть это в последних версиях исправлено или вы юзаете 1-н отчет -> 1-хранимка или вовсе отказались от хранимок и пользуетесь select - ами (ORM средства например генерят автоматические запросы)?
Вообщем на моём первом свидании с SSRS случился конфуз, как быть? :-(Да, все так. Давно не использовал новые версии, но в 2014-м все еще так было.

Приходилось изворачиваться, вводя в процедуру доп. параметр, отвечающий за то, какой рекордсет считать и возвращать, и вызывать процедуру несколько раз с разными значениями параметра.
...
Рейтинг: 0 / 0
SSRS and SP
    #39849745
Фотография medoed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MinamotomedoedНедавно начал разбираться с SQL Reporting Services, вещь красивая, но некоторые вещи сразу ввели в ступор...
Верно ли я понимаю, что для отчета SSRS , если он базируется на хранимой процедуре - можно использовать только один (первый) RecordSet?
ссылка

Reporting Services supports stored procedures that return only one set of data. If a stored procedure returns multiple result sets, only the first one is used.

В текущей архитектуре у меня часто бывает два и более вывода данных из SP , например заголовочная часть и сами данные.
Получается, если в качестве средства отчетов я выберу SSRS, то мне надо переписывать все отчёты?

Как вы с этим живёте , может быть это в последних версиях исправлено или вы юзаете 1-н отчет -> 1-хранимка или вовсе отказались от хранимок и пользуетесь select - ами (ORM средства например генерят автоматические запросы)?
Вообщем на моём первом свидании с SSRS случился конфуз, как быть? :-(Да, все так. Давно не использовал новые версии, но в 2014-м все еще так было.

Приходилось изворачиваться, вводя в процедуру доп. параметр, отвечающий за то, какой рекордсет считать и возвращать, и вызывать процедуру несколько раз с разными значениями параметра.

Как бы это помягче сказать - хммм, это же отвратительно?!
...
Рейтинг: 0 / 0
SSRS and SP
    #39849760
Фотография Ken@t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
medoedКак бы это помягче сказать - хммм, это же отвратительно?!
Отвратительно возвращать из SP более одного набора, динамический набор столбцов и ещё несколько кэйсов .
...
Рейтинг: 0 / 0
SSRS and SP
    #39849806
Фотография medoed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ken@tmedoedКак бы это помягче сказать - хммм, это же отвратительно?!
Отвратительно возвращать из SP более одного набора, динамический набор столбцов и ещё несколько кэйсов .
Насчёт динамики возможно. Но насчёт нескольких рекордсетов не соглашусь (Header и Data)... Зачем мне для этого делать несколько XP? Есть одна процедура которая возвращает наименование клиента например (в заголовке) , а внизу в данных остатки для него.
Ну да ладно, это всё лирика...
...
Рейтинг: 0 / 0
SSRS and SP
    #39849819
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
medoed, да это печаль... зачастую если все N вызова используют общую тяжелую часть, то либо используется трюк с кешированием и сингл транзакшн ... либо все мержится в один датасет с колоночкой sectionId и последующим растаскиванием данных
...
Рейтинг: 0 / 0
SSRS and SP
    #39849832
Фотография medoed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buser,
Я на будущее, думаю может данные в XML складывать в процедуре, он же поддерживает иерархию данных. А, потом уже на стороне SSRS парсить XML, но это предположение, практика может показать это извратом!
...
Рейтинг: 0 / 0
SSRS and SP
    #39849833
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
medoed,

Добавть два параметра @show_header и @show_details и делать два
...
Рейтинг: 0 / 0
SSRS and SP
    #39849836
Фотография medoed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гавриленко Сергей Алексеевичmedoed,

Добавть два параметра @show_header и @show_details и делать два

Да, конечно , это было бы логичным, особенно , если систему только начинаешь проектировать, но...
Получается, я свою базу и все текущие XP в ней должен подстроить под ограничения SSRS , добавляя в каждую процедуру служебные параметры. Подумаешь, перекомпилить 200 процедур для отчетов,а если ResulSet -ов несколько, то вообще песня!
...
Рейтинг: 0 / 0
SSRS and SP
    #39849867
Minamoto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
medoedГавриленко Сергей Алексеевичmedoed,

Добавть два параметра @show_header и @show_details и делать два

Да, конечно , это было бы логичным, особенно , если систему только начинаешь проектировать, но...
Получается, я свою базу и все текущие XP в ней должен подстроить под ограничения SSRS , добавляя в каждую процедуру служебные параметры. Подумаешь, перекомпилить 200 процедур для отчетов,а если ResulSet -ов несколько, то вообще песня!
Вам в любом случае делать отчеты RS, в рамках этой работы и разделением заниматься.

Как вариант - в процедуре заполнять некоторые кэширующие таблицы, с некоторым идентификатором, в процедуре в первом датасете возвращать идентификатор.
Дальше написать небольшие процедуры, которые по идентификатору будут из кэширующих таблиц просто читать данные.
Тут может быть два подхода, как эти данные потом очищать - либо в рамках определенного мэйнтенанс-плана, либо добавить отдельную процедуру, которая будет только подчищать таблицы, и в рамках выполнения отчета эту процедуру в конце вызывать.

В любом случае какого то единого подхода я не знаю.

С XML не советовал бы связываться, не помню ничего хорошего о его использовании в RS, может и ошибаюсь.
...
Рейтинг: 0 / 0
SSRS and SP
    #39849880
Фотография medoed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MinamotoВам в любом случае делать отчеты RS, в рамках этой работы и разделением заниматься.

Как вариант - в процедуре заполнять некоторые кэширующие таблицы, с некоторым идентификатором, в процедуре в первом датасете возвращать идентификатор.
Дальше написать небольшие процедуры, которые по идентификатору будут из кэширующих таблиц просто читать данные.
Тут может быть два подхода, как эти данные потом очищать - либо в рамках определенного мэйнтенанс-плана, либо добавить отдельную процедуру, которая будет только подчищать таблицы, и в рамках выполнения отчета эту процедуру в конце вызывать.

В любом случае какого то единого подхода я не знаю.

С XML не советовал бы связываться, не помню ничего хорошего о его использовании в RS, может и ошибаюсь.

Вас понял, благодарю за опытные советы! Без опыта с SSRS я бы набил шишек...
...
Рейтинг: 0 / 0
SSRS and SP
    #39849889
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
medoed,

в некоторых случаях можно использовать общий ненормализованный датасет, в котором будут дублироваться данные шапки в каждой строке деталей, например. Но последствия этого решения очевидны - увеличение объема данных.
...
Рейтинг: 0 / 0
SSRS and SP
    #39849893
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, это еще одна причина не использовать процедуры для получения наборов данных в концепции приложения в целом. Данные должны возвращать только запросы с использованием таблиц, функций и представлений.
...
Рейтинг: 0 / 0
SSRS and SP
    #39849895
Фотография medoed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосовmedoed,

в некоторых случаях можно использовать общий ненормализованный датасет, в котором будут дублироваться данные шапки в каждой строке деталей, например. Но последствия этого решения очевидны - увеличение объема данных.
Да и возможно этот способ быстрее по реализации, нежели XML, только выводиться будет медленнее и нагрузка на сеть вырастет...
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / SSRS and SP
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]