Есть ли API или способ подключиться к SSRS с помощью приложения MVC?

Я знаю, что это общий вопрос, но не уверен, что я неправильно гуглю, или то, что мне интересно, невозможно. В нашей компании уже есть сервер отчетов, на котором работает множество отчетов SQL. Я хочу посмотреть, смогу ли я создать внешний интерфейс, используя MVC и JS, для взаимодействия с сервером отчетов и разрешить пользователю запускать отчеты с помощью интерфейса MVC веб-приложения. Разрешает ли SSRS этот тип функциональности, или это будет так же неубедительно, как просто вызвать URL-адрес каждого отчета, а затем разработать его так, как мне хотелось бы, в моем проекте MVC? Поэтому, если я добавлю новый отчет на сервер отчетов, мне придется обновить интерфейсный проект MVC, который используют конечные пользователи в компании, чтобы получить новый отчет. Я надеюсь, что есть способ вызвать службы SSRS и вернуть отчеты, чтобы затем я мог использовать шаблоны или что-то в этом роде в своем веб-приложении MVC. Таким образом, он динамически получает отчеты с сервера отчетов по мере его создания или изменения.

Итак, еще раз, очень жаль, что это общий вопрос, и я искал в Google это, от SSRS с MVC до многих других комбинаций, но, похоже, не могу найти то, что ищу. Короче говоря, есть ли у SSRS интерфейс API, который я могу использовать для внешнего интерфейса MVC, чтобы сделать его лучше и лучше для тех, кто будет использовать службы отчетов?

Заранее спасибо, и просто надеюсь на какое-то направление, где я могу сам получить ответ. Здесь нет желания держаться за руку. Спасибо!


person Casey    schedule 17.10.2017    source источник
comment
Google asp.net mvc ssrs Report Viewer дает хорошие результаты. Что насчет этих руководств не работает для вас?   -  person    schedule 17.10.2017
comment
Однажды я реализовал это с помощью iframe, у которого есть URL-адрес средства просмотра отчетов и различные параметры в строке запроса. Этого можно достичь, но вам придется выяснить, как справиться с проблемами безопасности.   -  person Dumisani    schedule 17.10.2017
comment
Я погуглил это. Я предполагаю, что у меня проблемы с объяснением того, что я пытаюсь сделать. Я пытаюсь создать внешний интерфейс MVC, поэтому в представлении я могу, например, перечислить все отчеты, доступные в службе, в групповой папке, скажем, в бухгалтерском учете. Затем используйте приложение MVC для управления им. Из того, что я видел, я могу сослаться на URL-адрес отчета из приложения MVC, но тогда он просто отображает его в iframe. Нет ли другого способа получить больше от возможности настраивать взаимодействие пользователей с отчетами, поэтому я хочу создать свой собственный интерфейс в MVC. Пока, я думаю, я могу просто использовать эти результаты.   -  person Casey    schedule 17.10.2017
comment
Я надеюсь или желаю, чтобы был API, такой как метод MCV. {группа папок отчетов}/{reportName}, а затем отправьте параметры в службу и получите результаты, но в сетке кендо. Так что получите результаты xml или json. Что-то в этом роде, но из того, что я вижу, это принятие желаемого за действительное. Причина этого в том, что наш ИТ-менеджер хочет улучшить пользовательский интерфейс, чтобы пользователи могли запускать отчеты и создавать их динамически, поэтому вместо разработки совершенно новой системы я надеялся подключиться к уже созданной системе SSRS, которая у нас есть. Но сделайте его более красивым и расширяемым для настройки в MVC. Просто делаю то, что я попросил. :)   -  person Casey    schedule 17.10.2017
comment
Я знаю, что этот вопрос был задан давно, но я пришел сюда в поисках ответов, потому что хочу добиться того же результата, что и вы. Вы нашли здесь какое-либо решение или, по крайней мере, подтвердили, что невозможно сделать то, что вы хотели? Если это так, пожалуйста, направьте меня.   -  person Gxzzin    schedule 20.05.2021


Ответы (1)


Есть несколько способов сделать это, в зависимости от того, как вы хотите построить свое приложение.

  1. SSRS имеет встроенный SOAP API. Вы можете легко использовать клиентский пакет SOAP для выполнения запросов к веб-службе и получения отформатированных данных из отчетов. Это способ сделать это, если вы действительно хотите отображать данные в виде HTML.

  2. Есть несколько способов сделать это путем создания PDF-файла (я использовал этот подход при создании своего приложения). В этой статье блога рассказывается, как создать собственную .net конечную точку. который возвращает PDF. Затем вы можете вызвать пользовательский API из своего MVC. Вы также можете просто использовать строку запроса, в зависимости от необходимого уровня настройки.

Очевидно, я мало что знаю о вашем конкретном случае использования, но я склоняюсь к тому, чтобы предложить вам создать отдельный API вне SSRS, чтобы вы могли получить к нему доступ. Это повысит безопасность вашего приложения (поскольку вы можете ограничить типы отчетов, создаваемых для каждого пользователя) и ограничит накладные расходы приложения на взаимодействие с SSRS.

person Derek Brown    schedule 17.10.2017
comment
@Casey читает ваш комментарий - используйте API SOAP, чтобы перечислить доступные отчеты, а затем используйте API Query String, чтобы получить PDF-файлы. - person Derek Brown; 17.10.2017
comment
Круто, вот что мне было интересно. Я знаю, что некоторые из результатов, упомянутых в предыдущих комментариях, и пользователь, с которым я тоже столкнулся, заявил некоторые вещи о запросе и результатах SOAP, но я продолжал видеть, чтобы отображать URL-адрес в iframe или что-то в этом роде. Таким образом, это дает мне понять, что стоит изучить, и может выполнить то, что мой ИТ-менеджер запрашивает в качестве конечного плана. -Спасибо- - person Casey; 17.10.2017
comment
Спасибо. Это следующий шаг. Как получить список отчетов, а затем отобразить их. Спасибо, что упомянули об этом. - person Casey; 02.11.2017