SSRS ReportViewer в MVC не передает параметры в источник данных - PullRequest
0 голосов
/ 13 июня 2019

У меня есть удаленный сервер SSRS 2016 с несколькими загруженными отчетами. Эти отчеты должны предоставляться средам разработки, контроля качества и производства.

Я делаю это, имея DataSource со строкой динамического соединения, используя выражение:

="Data Source="& Parameters!DatabaseServer.Value & 
";Initial Catalog="& Parameters!DatabaseName.Value

Имя базы данных и адрес сервера sql передаются в параметрах из представления проекта MVC.

ReportParameter p1 = new ReportParameter("UserId", CurrentUserId, false);
ReportParameter p2 = new ReportParameter("DatabaseServer", ReportDbServer, false);
ReportParameter p3 = new ReportParameter("DatabaseName", ReportDb, false);
var params = new ReportParameter[] { p1, p2, p3 };

reportViewer.ServerReport.SetParameters(param);

Это исключение выдается при вызове SetParameters:

ReportServerException: ошибка во время обработки ConnectString выражение источника данных «dsDynamic». (RsDataSourceConnectStringProcessingError)

2 дополнительных очка:

  1. В другом более старом проекте этот динамический подход к источникам данных работает, хотя и используя MVCReportViewer (https://www.nuget.org/packages/MvcReportViewer/)
  2. В этом проекте отчет отображается, если я изменяю выражения на основе строка подключения к типу «Источник данных = 127.0.0.1; Исходный каталог = AdventureDB».

Кто-нибудь здесь когда-либо успешно использовал этот подход с использованием динамической строки conn, используя ReportViewer?

...