Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
срочно >> Reporting Service: Каждому пользователю свои дынные
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток всем. Задача: Нужно предоставить пользователю возможность просматривать отчеты посредством Reporting Service на основании "индивидуальных данных". Что это значит. В базе имеются таблицы с данными и в некоторых из них существуют данные, которые различны для каждого пользователя (в этих таблицах существует поле userID) Проблема: Когда я нахожусь в своем приложении (ASP.NET) то я знаю с каким пользователем я имею дело, но как только я отдаю управления построителю отчетов Reporting Service (через url), то эта информация теряется. Как мне сделать так, чтобы Reoirting Service строил отчеты на основании данных с учетом текущего пользователя? Зарание спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2007, 12:23 |
|
||
|
срочно >> Reporting Service: Каждому пользователю свои дынные
|
|||
|---|---|---|---|
|
#18+
вопрос не совсем в этот форум, имхо. используется Windows-аутентификация? Если да, то надо разобраться, почему теряется пользователь при передаче запроса отчету. Если какая-то собственная, зависит от реализации. Опять же, скорее всего в форум по отчетным системам ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2007, 13:38 |
|
||
|
срочно >> Reporting Service: Каждому пользователю свои дынные
|
|||
|---|---|---|---|
|
#18+
Создайте Report parameter , например, @userName , установите для него свойство Hidden и в Default values укажите Код: plaintext Затем, формируйте датасет на основании параметра @userName: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2007, 13:50 |
|
||
|
срочно >> Reporting Service: Каждому пользователю свои дынные
|
|||
|---|---|---|---|
|
#18+
def1983Создайте Report parameter , например, @userName , установите для него свойство Hidden и в Default values укажите Код: plaintext Затем, формируйте датасет на основании параметра @userName: Код: plaintext Спасибо за открытие для меня свойства User!UserID, а есть ли что нить еще из этого? Но вот небольшое НО. Это проперти выдает пользователя Windows, а мне этого не надо, у меня внутри системы свои пользователи и мне нужно, чтобы Reporting Service знал именно его. Или как то нужно обойти эту ситуацию, но как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2007, 20:12 |
|
||
|
срочно >> Reporting Service: Каждому пользователю свои дынные
|
|||
|---|---|---|---|
|
#18+
Тогда, как вариант (не совсем безопасный) передавайте @userid как часть URL Например: Код: plaintext Подробно описано в BOL2005->Passing a Report Parameter Within a URL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2007, 21:26 |
|
||
|
срочно >> Reporting Service: Каждому пользователю свои дынные
|
|||
|---|---|---|---|
|
#18+
def1983Тогда, как вариант (не совсем безопасный) передавайте @userid как часть URL Например: Код: plaintext Подробно описано в BOL2005->Passing a Report Parameter Within a URL. Да, по это я раскопал, но это мне (после обдумывания) все же немного не подходит Причина: У меня есть хранимые процедуры которые принимают 2 параметра, один из которых это userID, Чтобы заставить Reporting Service работать с результатами выполнения этих хранимых процедур (точнее функций), я не чего не нашел, кроме как написать вьюшку, в которою запихать все возможные варианты, тоесть: open cursor fetch next from cursor into @userID; while begin ... select @userID, * from my_function(@p1,@userID) fetch next from cursor into @userID; end close cursor и соответственно уже в репортинг сервисе накладывать фильтр на userID. НО ЭТО ОЧЕНЬ ТРУДОЕМКО ПОЛУЧАЕТСЯ, так как мне нужно это сделать для обоих параметров, тоесть m*n селектов. Подскажите, как это можно поэлегантнее??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2007, 22:47 |
|
||
|
срочно >> Reporting Service: Каждому пользователю свои дынные
|
|||
|---|---|---|---|
|
#18+
Я работаю через Data Model ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2007, 10:08 |
|
||
|
срочно >> Reporting Service: Каждому пользователю свои дынные
|
|||
|---|---|---|---|
|
#18+
Aleksander V. Kalinin def1983Тогда, как вариант (не совсем безопасный) передавайте @userid как часть URL Например: Код: plaintext Подробно описано в BOL2005->Passing a Report Parameter Within a URL. Да, по это я раскопал, но это мне (после обдумывания) все же немного не подходит Причина: У меня есть хранимые процедуры которые принимают 2 параметра, один из которых это userID, Чтобы заставить Reporting Service работать с результатами выполнения этих хранимых процедур (точнее функций), я не чего не нашел, кроме как написать вьюшку, в которою запихать все возможные варианты, тоесть: open cursor fetch next from cursor into @userID; while begin ... select @userID, * from my_function(@p1,@userID) fetch next from cursor into @userID; end close cursor и соответственно уже в репортинг сервисе накладывать фильтр на userID. НО ЭТО ОЧЕНЬ ТРУДОЕМКО ПОЛУЧАЕТСЯ, так как мне нужно это сделать для обоих параметров, тоесть m*n селектов. Подскажите, как это можно поэлегантнее??? Но Вы же получаете отчет через вебсервис (http://server/reportserver...)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2007, 11:52 |
|
||
|
срочно >> Reporting Service: Каждому пользователю свои дынные
|
|||
|---|---|---|---|
|
#18+
def1983 Aleksander V. Kalinin def1983Тогда, как вариант (не совсем безопасный) передавайте @userid как часть URL Например: Код: plaintext Подробно описано в BOL2005->Passing a Report Parameter Within a URL. Да, по это я раскопал, но это мне (после обдумывания) все же немного не подходит Причина: У меня есть хранимые процедуры которые принимают 2 параметра, один из которых это userID, Чтобы заставить Reporting Service работать с результатами выполнения этих хранимых процедур (точнее функций), я не чего не нашел, кроме как написать вьюшку, в которою запихать все возможные варианты, тоесть: open cursor fetch next from cursor into @userID; while begin ... select @userID, * from my_function(@p1,@userID) fetch next from cursor into @userID; end close cursor и соответственно уже в репортинг сервисе накладывать фильтр на userID. НО ЭТО ОЧЕНЬ ТРУДОЕМКО ПОЛУЧАЕТСЯ, так как мне нужно это сделать для обоих параметров, тоесть m*n селектов. Подскажите, как это можно поэлегантнее??? Но Вы же получаете отчет через вебсервис (http://server/reportserver...)? да, через него. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2007, 20:47 |
|
||
|
срочно >> Reporting Service: Каждому пользователю свои дынные
|
|||
|---|---|---|---|
|
#18+
И что Вам мешает добавить в URL параметр @userID и уже на основании этого параметра формировать dataset? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2007, 10:24 |
|
||
|
срочно >> Reporting Service: Каждому пользователю свои дынные
|
|||
|---|---|---|---|
|
#18+
def1983И что Вам мешает добавить в URL параметр @userID и уже на основании этого параметра формировать dataset? то, что я использую Data Model, а как мне в Data Model использовать UDF с параметром @userID? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2007, 12:13 |
|
||
|
срочно >> Reporting Service: Каждому пользователю свои дынные
|
|||
|---|---|---|---|
|
#18+
Aleksander V. Kalininто, что я использую Data Model, а как мне в Data Model использовать UDF с параметром @userID? Все, понял. Да, с data model так не выкрутится... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2007, 12:56 |
|
||
|
срочно >> Reporting Service: Каждому пользователю свои дынные
|
|||
|---|---|---|---|
|
#18+
def1983 Aleksander V. Kalininто, что я использую Data Model, а как мне в Data Model использовать UDF с параметром @userID? Все, понял. Да, с data model так не выкрутится... а можно что то в данной ситуации посоветовать? Может быть есть пути обхода данной ситуации или отказаться от Data Model, но нужно сохранить возможность "чайникам" накидывать отчеты. В общем как то это обойти? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2007, 13:05 |
|
||
|
срочно >> Reporting Service: Каждому пользователю свои дынные
|
|||
|---|---|---|---|
|
#18+
Aleksander V. Kalinin а можно что то в данной ситуации посоветовать? Может быть есть пути обхода данной ситуации или отказаться от Data Model, но нужно сохранить возможность "чайникам" накидывать отчеты. В общем как то это обойти? Имхо, как вариант, создать готовый отчет в дизайнере, но максимально параметризировав его, для того чтобы пользователи на основании параметров могли его подгонять под свои нужды. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2007, 13:47 |
|
||
|
срочно >> Reporting Service: Каждому пользователю свои дынные
|
|||
|---|---|---|---|
|
#18+
def1983 Aleksander V. Kalinin а можно что то в данной ситуации посоветовать? Может быть есть пути обхода данной ситуации или отказаться от Data Model, но нужно сохранить возможность "чайникам" накидывать отчеты. В общем как то это обойти? Имхо, как вариант, создать готовый отчет в дизайнере, но максимально параметризировав его, для того чтобы пользователи на основании параметров могли его подгонять под свои нужды. Это их не устроит. Они хотят сами вершить отчеты. ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2007, 13:43 |
|
||
|
|

start [/forum/topic.php?fid=31&msg=34369920&tid=1538205]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 11ms |
| total: | 135ms |

| 0 / 0 |
