【问题标题】:SSRS - Using database names as parameterSSRS - 使用数据库名称作为参数
【发布时间】:2017-06-14 05:05:14
【问题描述】:

我有 2 个数据库,它们的表结构相同,但数据不同。我想通过提供过滤器来选择数据库名称来显示报告。我尝试在嵌入式连接中使用连接字符串作为表达式仍然无法正常工作。

【问题讨论】:

  • 数据库是否在同一台服务器上?
  • 发布您的嵌入式连接表达
  • 是的数据库在同一台服务器上。
  • @Anton 表达式为 ="Data Source=servername;Initial Catalog=" + Parameters!dbname.Value
  • 错误是什么?你试过 SQL Profiler 吗?

标签: sql-server reporting-services ssrs-2012 ssrs-2014


【解决方案1】:

是的,您可以这样做,但有一个限制:无法共享数据源。 所以顺序如下:

  • 使用嵌入式数据源和“固定”连接字符串(如Data Source=server;Initial Catalog=db1)创建报告,使用向导或您想要的方式,确保它可以刷新

  • 创建参数dbname

  • 将数据源中的表达式替换为动态:="Data Source=server;Initial Catalog=" &Parameters!dbname.Value

【讨论】:

  • 我试过了,效果很好。你这次用&了吗?参数是否存在?
  • 是的参数存在,我用&。仍然出现同样的错误。
  • @user7814194 您不是在创建数据源时遇到此错误,而是在尝试为数据集创建字段列表时遇到此错误,对吧?我刚刚遇到了同样的错误,所以即使我们可以创建这样的数据源,它也没有用...
  • 是的。我想将此数据源用于另一个数据集。而且我不能对连接字符串进行硬编码,因为我想在报告中使用参数来选择数据库数量并显示来自该特定数据库的数据。
  • 重点是使用“固定”数据源创建一个包含所有字段的数据集,而不是动态的。动态数据源定义是正确的,但不允许评估字段,所以应该使用非动态数据库名称来完成,只有这样你才能用动态数据库名称替换你的数据源定义
猜你喜欢
  • 2017-03-24
  • 2014-07-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-20
  • 1970-01-01
相关资源
最近更新 更多