基于表达式的连接字符串不呈现报告

Expression-based connection string doesn't render report

我正在尝试让报告在 ASP.NET MVC 应用程序中运行。 SSRS 安装在与 IIS 框分开的 SQL2012 框上。我在 WebForms 页面中使用 ReportViewer 控件来呈现报告。我的开发环境是一个同时具有 IIS 和 SQL Server/SSRS 的服务器,同时具有开发和 QA 数据库。

我已将报告设置为使用连接字符串参数。该值来自 web.config。在开发和 QA 方面一切正常,但是当我们部署到生产环境时,ReportViewer 只提供可怕的空白页面。我知道报告正在制作中,因为我创建了一个不使用数据源的示例报告,并将连接字符串参数作为文本框,一切都按预期呈现,显示正确的连接字符串。

我在网上到处都是,但都没有成功。因为示例报告呈现并显示动态连接字符串,所以我怀疑问题可能出在连接字符串本身。我试过了

Data Source=ServerName;Initial Catalog=DatabaseName;User Id=sqluser;Password=sqlpass;

以及服务器名称的每个变体(IP 地址、本地主机等)。报告中的数据源设置为不使用凭据,因此它们通过连接字符串传入。如果我将实时服务器作为参数传递,这些报告在开发和 QA 中工作正常。

我错过了什么?如何在与数据库分开的盒子上呈现的报表上使用动态数据源?

我不知道这是否有帮助,但我做了类似的事情,并且在将报告部署到 SSRS 报告服务器时遇到了数据源问题。

我有一个环境参数来确定要使用哪个服务器:

=IIF(Parameters!Environment.Value = "PRD", "Data Source = xSQLPRD01\PRDMAIN; Initial Catalog = PlanData_Custom", 
    IIF(Parameters!Environment.Value = "UAT", "Data Source = xSQLUAT01\UATMAIN; Initial Catalog = PlanData_Custom", 
    IIF(Parameters!Environment.Value = "UPG", "Data Source = xSQLUPG01\UPGMAIN ; Initial Catalog = PlanData_Custom",
    "Data Source = xSQLTST01\TSTMAIN;Initial Catalog = PlanData_Custom")))
& ";User ID=user;Password=Password1"

它在 BIDS 中工作,但是当我部署它时,我收到一个错误,指出数据源无效。

我发现我需要向数据源添加凭据。它默认为 不需要凭据

如果您有类似的数据源页面,请尝试添加您的凭据。