【问题标题】:How to select the Data Source at Runtime in SSRS Report Builder如何在运行时在 SSRS 报表生成器中选择数据源
【发布时间】:2015-06-15 13:57:09
【问题描述】:

在解决问题之前让我明确表示我知道之前有类似的问题问过,但找不到我的问题的答案。我的问题是:
我想在运行时选择数据源。首先,我只是通过制作共享数据源来创建报告。然后我使用这个数据源创建一个数据集。我运行报告,它运行良好。然后我创建了两个参数,一个用于数据源,一个用于数据集。这两个参数都是“文本”类型,它们的参数可见性是“可见”,它们的可用和默认值是“无”。然后我创建了第二个嵌入的数据源,它的连接字符串是:
="Data Source=" & Parameters!DataSource.Value & ";Initial Catalog=" & Parameters!DataSet.Value
现在,当我单击测试连接按钮时,它显示错误:
“ConnectionString 属性尚未初始化。”
现在任何人都可以解释一下如何处理它。我的凭据是正确的。我通过使嵌入式数据源和硬编码连接字符串正常工作但不能使用动态连接字符串来测试凭据。

【问题讨论】:

  • 您是否尝试在文本框中显示 ConnectionString 以确保正常?
  • @SébastienSevrin 抱歉,我无法理解您的问题。我的意思是如何做到这一点?实际上我是新来的报道,我知道的不多。我刚刚阅读了一些关于动态数据源的文章并执行了步骤
  • 我只是想知道您是否尝试使用 ConnectionString 表达式 (="Data Source=" & Parameters!DataSource.Value & ";Initial Catalog=" & Parameters!DataSet.Value) 在报告中添加文本框,以确保您的 ConnectionString 符合您的预期。
  • 阅读您的评论后,我在报告中插入一个文本框,并在其表达式中写入我的连接字符串。当我运行它时,它显示了连接字符串,但代替了两个参数值,它显示了我为数据源输入的参数。我的意思是我已输入“DataSource1”和“DataSet1”作为参数名称,但结果如下:Data Source = DataSource1;初始目录 = DataSource1。我已使用共享数据源运行此报告。
  • 如果它显示您预期的连接字符串,是的,它给出了正确的结果。如果它适用于静态连接字符串并且您的表达式返回相同的连接字符串,它应该可以工作。你确定没有别的东西?您的凭据设置在哪里,在 ConnectionString 或凭据选项卡中?

标签: reporting-services report reporting ssrs-2012 reportbuilder


【解决方案1】:

您不能将共享数据源与动态数据源一起使用。使用嵌入式。我认为这是为了防止您破坏其他报告的数据源。

http://www.keepitsimpleandfast.com/2012/08/how-to-use-dynamic-data-sources-in-your.html

【讨论】:

  • 好的,我已将第一个数据源更改为嵌入式,但我仍然面临同样的问题
  • 如果我忽略错误并选择我的动态数据源进行报告并运行报告然后报告给我错误:无法创建与数据源“DataSource1”的连接
  • 您是否使用硬编码的真实值对其进行了测试,以确保连接首先正常工作?您的服务器或数据库名称中是否有任何非字母数字字符?您的服务器名称不是 DataSource1,对吧?你的服务器和数据库有默认值吗?
  • 是的,我对其进行了硬编码,并且工作正常。我的服务器名称中有一个破折号(-)。 DataSource1 是我的动态数据源的名称。默认值,如果你的意思是参数的默认值,那么不。我不设置默认值。
  • 尝试将服务器和数据库名称设置为服务器和数据库参数的默认值。我认为它应该在没有默认值的情况下工作,但可能出于某种原因。
猜你喜欢
  • 1970-01-01
  • 2014-02-07
  • 1970-01-01
  • 2011-04-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-17
  • 1970-01-01
相关资源
最近更新 更多