|
SSRS хранимые процедуры
|
|||
---|---|---|---|
#18+
Добрый день! Может быть кто сталкивался с такой задачей. Есть уже готовая хранимая процедура (на прямой запрос в БД доступа нет, админы базы предоставили такой вариант), где с начала хранимка по условному параметру получает результат из БД и записывает ее в буфер DBMS_OUTPUT, далее забираем от туда данные селектом. Пример: 1. EXECUTE DBO.FIXMAIN('procedure_name',' ID '); 2. select ID as "ID Записи", RESULT1, RESULT2, RESULT3 from dbo.select_result where ID = ' ID ' По сути мне нужно, что бы при запуске отчета с начала отрабатывала данная хранимка и уже потом DataSet получал значения параметров селектом, которые бы я выводил в отчете. Это возможно реализовать и как? Проблема собственно заключается в запуске хранимки. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2017, 14:08 |
|
SSRS хранимые процедуры
|
|||
---|---|---|---|
#18+
MarcusRid, как-как, ровно так, как вы написали. Объедините вызов этой процедуры с селектом. Или вопрос в этом Dataset Execution Order ? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2017, 15:05 |
|
SSRS хранимые процедуры
|
|||
---|---|---|---|
#18+
MarcusRid, Вы пытаетесь запустить хранимку из конструктора запросов? Не смотря на то, что конструктор ругается, хранимка все равно отрабатывает выполняем в SSMS Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
пишем запрос в датасете Код: sql 1. 2. 3. 4. 5.
и все прекрасно отрабатывает По описанию не до конца понятно что Вас не устраивает еще может быть просто нет прав на хранимку у того пользователя, из под которого выполняется отчет... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2017, 15:11 |
|
SSRS хранимые процедуры
|
|||
---|---|---|---|
#18+
Спасибо за помощь, все получилось! Действительно хранимка отрабатывает не смотря на то, что SSRS ругается при сохранении отчета. Проблему с запуском решил проще, хранимку запихнул в DataSet2, а запрос в таблицу в другой DataSet с самым последним порядковым номером в отчете, в итоге все успевает отработать, отчёт формируется корректно. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2017, 11:16 |
|
SSRS хранимые процедуры
|
|||
---|---|---|---|
#18+
MarcusRid, А Вы уверены, что хранимка запускается первой и успевает отработать к тому моменту, как соседний датасет начнет запрашивать результат ее работы? Как я понимаю, в Вашем случае важна последовательность Может получиться так, что сначала отработает SELECT и достанет устаревшие данные, а лишь после EXEC вставит новые, но этого уже никто не увидит... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2017, 15:48 |
|
SSRS хранимые процедуры
|
|||
---|---|---|---|
#18+
MarcusRid, Советую почитать, прежде чем делать такое... https://blogs.msdn.microsoft.com/robertbruckner/2008/08/07/dataset-execution-order/ https://social.msdn.microsoft.com/Forums/sqlserver/en-US/3af7816c-fe72-4bf8-893b-fcb2ae87d3b5/execute-order-of-datasets?forum=sqlreportingservices ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2017, 15:51 |
|
SSRS хранимые процедуры
|
|||
---|---|---|---|
#18+
офф: У меня с ХП была небольшая засада. Если не указать в первой строке SET NOCOUNT ON, то приложение отказывается с ней работать. (QlikView есличо). Не сразу догадался, в чем затык. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2017, 23:19 |
|
SSRS хранимые процедуры
|
|||
---|---|---|---|
#18+
почему бы вместо хранимки не использовать функцию? я у себя так делаю Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2017, 12:00 |
|
|
start [/forum/topic.php?fid=31&msg=39568267&tid=1533024]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
38ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 136ms |
0 / 0 |