动态设置SSRS报告的数据源而无需无人值守的执行帐户?

时间:2014-06-05 16:12:13

标签: security reporting-services report

我需要在运行时动态指定SSRS报告的数据源。我找到了这些解决方案:

Change SSRS data source of report programmatically in server side

SSRS Dynamic Shared Data Source

像Crystal Reports这样的其他技术让我们能够非常轻松地随意更改数据源数十年,所以我觉得这些黑客仍然是实现这一目标的最佳方法,但假设情况如此:是否可能这样做而不启用无人值守的执行帐户?

1 个答案:

答案 0 :(得分:9)

以下是我在运行时更改数据源的方法。

  1. 创建报告参数DatabaseServer。
  2. 创建报告参数DatebaseName。
  3. 为报告创建dsTest数据源(这用于本地测试)。
  4. 将dsTest数据源设置为指向测试数据库。
  5. 创建另一个" dsDynamic"数据源并将其连接字符串表达式设置为以下内容:="Data Source="+Parameters!DatabaseServer.Value+";Initial Catalog=" + Parameters!DatabaseName.Value

  6. 通过将所有数据集设置为在步骤3中创建的测试连接来构建和测试报告。

  7. 将报告的数据集设置为在实际部署之前在步骤5中创建的动态数据集。
  8. 将数据库名称和服务器名称从应用程序发送到报告,指向另一个数据库实例。