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

时间:2017-02-15 21:50:46

标签: asp.net-mvc reporting-services ssrs-2012

我试图让报表在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地址,localhost等)。报告中的数据源设置为不使用凭据,因此它们通过连接字符串传入。如果我将实时服务器作为参数传递,则报告可以从开发和QA中正常工作。

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

1 个答案:

答案 0 :(得分:1)

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

我有一个Environment参数来确定要使用的服务器:

=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,但是当我部署它时,我收到数据源无效的错误。

我发现我需要向数据源添加凭据。它默认为证书不是必需的

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

enter image description here