Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Хранимые функции в датасетах SSRS2005
|
|||
|---|---|---|---|
|
#18+
Скажите пожалуйста, существует ли возможность обращаться в датасетах Reporting Services к хранимым функциям T-SQL иначе чем через текстовый(TEXT) запрос с оператором SELECT ? Есть ли вообще преимущество у хранимых пользовательских функций (UDF) перед процедурами при использовании в запросах на выборку для отчетов? Я всегда считал что есть. Но сейчас, когда не встретил нормальной поддержки функций в SSRS, меня вдруг посетили сомнения. Т.е. получается MS как-бы гнобит функции? Поддержка вызова хранимых функций есть например в ADO (более старом продукте). И она документирована в MSDN. А для SSRS - нет. Странно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2008, 16:16 |
|
||
|
Хранимые функции в датасетах SSRS2005
|
|||
|---|---|---|---|
|
#18+
Хм... Вы уверенны что вам нужны именно "хранимые функции" (UDF), а не хранимые процедуры (Stored Procedures)? В RS-е есть возможность вызывать sp. В свойствах датасета на первой закладке Query усть возможность выбрать Command Type - Text или StoredProcedure... Если всё же имеется ввиду некий особый механизм вызова функций (UDF) без использования оператора SELECT, то просвятите, плиз, как это сделать... В SQL запросе есть два вырианта вызова UDF-ий: для скалярных (Scalar-valued) Код: plaintext Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2008, 20:10 |
|
||
|
Хранимые функции в датасетах SSRS2005
|
|||
|---|---|---|---|
|
#18+
Max Otto fon ShtirlicХм... Вы уверенны что вам нужны именно "хранимые функции" (UDF), а не хранимые процедуры (Stored Procedures)? В RS-е есть возможность вызывать sp. В свойствах датасета на первой закладке Query усть возможность выбрать Command Type - Text или StoredProcedure... Если всё же имеется ввиду некий особый механизм вызова функций (UDF) без использования оператора SELECT, то просвятите, плиз, как это сделать... В SQL запросе есть два вырианта вызова UDF-ий: для скалярных (Scalar-valued) Код: plaintext Код: plaintext Мне нужны именно "хранимые функции", потому что они более оптимальны, чем хранимые процедуры для вызова в отчетах. Во всяком случае я так думаю. Насчет вызова UDF через SQL-команду SELECT - вопросов нет (Command Type - Text). Просто вызов хранимых процедур в SSRS оптимизирован специальным образом (Command Type - StoredProcedure), а функций - нет! Или я об этом не знаю. Вот это я, собственно, и хотел выяснить. Например в ADO хранимые функции можно вызывать через механизм вызова хранимых процедур Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2008, 08:53 |
|
||
|
Хранимые функции в датасетах SSRS2005
|
|||
|---|---|---|---|
|
#18+
ИМХО Нет потребности "оптимизировать" вызов функции в датасетах SSRS так же как это сделано для хранимых процедур. Почему: - вызов ХП выполянется командой exec, а вызов функции в классической запросе - набор записей ХП нельзя join-ить с другими запросами, функцию можно - ХП нельзя поставить в where условие, функцию можно и т.д. и т.п. Если "оптимизировать" вызов функций в датасетах - это ограничить сами возможности использования функций по сравнению с ХП. P.S. Под словом "нельзя" для ХП я имел ввиду стандартную конструкцию select...from... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2008, 10:39 |
|
||
|
Хранимые функции в датасетах SSRS2005
|
|||
|---|---|---|---|
|
#18+
incoldИМХО Нет потребности "оптимизировать" вызов функции в датасетах SSRS так же как это сделано для хранимых процедур. Почему: - вызов ХП выполянется командой exec, а вызов функции в классической запросе - набор записей ХП нельзя join-ить с другими запросами, функцию можно - ХП нельзя поставить в where условие, функцию можно и т.д. и т.п. Если "оптимизировать" вызов функций в датасетах - это ограничить сами возможности использования функций по сравнению с ХП. P.S. Под словом "нельзя" для ХП я имел ввиду стандартную конструкцию select...from... Ну в общем-то все сложные запросы и join'ы я делаю внутри тела функции, вызываемой в датасете отчета. Чего и всем желаю :) Но Вы практически правы. Путем изучения лога SQL Profiler, я обнаружил, что текстовые команды (SELECT ...) прописанные в датасетах SSRS и содержащие параметры, транслируются в вызов RPC примерно такого вида: Код: plaintext 1. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2008, 11:20 |
|
||
|
|

start [/forum/topic.php?fid=31&msg=35462157&tid=1536827]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
44ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
2ms |
| others: | 255ms |
| total: | 381ms |

| 0 / 0 |
