我有一台远程SSRS 2016服务器,其中上传了一些报告。 这些报告将由开发,质量检查和生产环境共享。
我这样做的方法是使用一个带有表达式的动态连接字符串的数据源:
="Data Source="& Parameters!DatabaseServer.Value &
";Initial Catalog="& Parameters!DatabaseName.Value
从MVC项目视图的参数中传递数据库名称和sql服务器地址。
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)
这里有没有人曾经通过ReportViewer成功使用过这种动态conn字符串方法?