Как установить сам коннектор я подробно описал ещё в 2015 году. Что с тех пор изменилось? Изменилось многое, в первую очередь сам механизм взаимодействия iScala и отчёта, опубликованного на сервере отчётности MS SQL Server Reporting Services. Взаимодействие происходит не «напрямую», а через новый механизм, который полностью учитывает разнообразные права доступа, которые можно определять в административной консоли iScala. Тема интересная, но не будем «копать» так глубоко. Начнём с того, какие «приседания» нужно сделать, чтобы стандартные отчёты, добавленные в последних версиях iScala просто заработали.
- Предоставить необходимые права учётной записи, от имени которой работает Reporting Services в настройках Component Services:
На закладке COM Security в разделе Access Permissions нажмите на кнопку Edit Default:
В появившемся окне добавьте пользователя. Имя пользователя зависит от версии SQL Server’а. Если это версия от 2016, пользователь называется «ReportServer», а начиная с 2017 года пользователь называется SQLServerReportingServices:
Именно так как на картинке выше: NT Service\SQLServerReportingServices, а после того, как нажмёте кнопку Check Names, это станет выглядеть следующим образом:
Права должны быть установлены следующим образом:
Аналогично добавьте этого же пользователя в окне «Launch and Activation Permission»:
- После этого необходимо проделать те же самые действия для пользователя, от имени которого работает механизм новой отчётности в iScala 3.4 или iScala 3.5. Для того, чтобы выяснить, кто же этот пользователь, войдите в IIS Manager и посмотрите на ReportingServicesAppPool:
Кроме всего прочего этот пользователь должен иметь права read для базы данных, где хранятся данные компаний в iScala и права read and execute в Repoting’овой базе данных (например, ReportingDB).
Я также заметил, что и для пользователя, от имени которого работает сам сервис MS SQL Server Reporting Services (в моём случае это SQLServerReportingServices) необходимо предоставить аналогичные права на вышеупомянутые базы данных:
Я экспериментировать не стал и сразу сделал его db owner’ом:
- Но и это ещё не всё. Обнаружилось, что отчёты не хотят работать, пока не добавлен bindings для протокола https:
- Теперь самое время установить коннектор, если это не было сделано ранее и сделать после этого некоторые изменения в административной консоли. Впрочем, если это не было сделано ранее, у Вас не появится Reporting’овая база данных, так что я надеюсь, что это было сделано парой шагов ранее 🙂
Как можно заметить, по сравнению с предыдущими версиями появились 2 новых подраздела: iScala Reporting Database и Report Processing.
Кроме этого появилась возможность настраивать доступ к разным отчётам в соответствие с политиками доступа на закладке Data Sets:
- Ну, и конечно, нужно не забыть откорректировать источник данных на сервере отчётов, прописав имя сервера:
Очень надеюсь, что описание этих «приседаний» поможет запустить механизм отчётности в новых версиях iScala 🙂
Желаю удачи!