【发布时间】:2016-11-29 15:53:58
【问题描述】:
我有一个连接到报表服务器以查看 SSRS 报表的 Angular 应用程序。应用程序使用存储在数据库中的文件路径来识别报告。这是文件路径的示例:
http://<serverName>/Reports/Pages/Report.aspx?ItemPath=%2fReportFolder%2fPatientReport
我需要添加第二个数据源,以便此报表可以连接到不同的数据库。目前,此报告被硬编码为 1 个数据库。但我读到我可以创建第二个数据源并动态链接到另一个数据库。
我可以在这个文件路径中传递数据库的名称,然后使用这个数据库名称来选择正确的数据源吗?
更新 我找到了参数化数据库名称的说明。我在存储所有数据库的服务器上创建了一个数据库,它有一个包含数据库名称的表。我创建了一个数据源来检索这些名称,并创建了一个“DatabaseName”参数,该参数将作为用户的输入(希望我能够将此名称作为参数添加到文件路径字符串中,这样用户就不必选择它。) 所以在报告中我有一个返回数据库列表的数据源和一个在连接字符串中使用这个表达式来添加数据库名称的动态数据源:
但是,我必须将此数据源连接到数据集。当我运行它时,
="Data Source=<server Name>;Initial Catalog=" & Parameters!DatabaseName.Value
我尝试将此动态数据源与数据集一起使用,但由于错误而无法保存数据集: [![在此处输入图片描述][1]][1]
这是因为我需要将数据库参数添加到查询中吗? 如果是这样,有没有办法解决这个问题?喜欢可以添加: 使用 @DatabaseName 到查询的顶部?
更新 我得到了一个基本报告来显示可选数据库。 现在,我只需要将数据库名称作为参数发送到报告字符串中。
【问题讨论】:
标签: angularjs reporting-services datasource