【问题标题】:Unable to get data from stored procedure to ssrs report无法从存储过程获取数据到 ssrs 报告
【发布时间】:2017-05-08 08:41:26
【问题描述】:

我正在尝试从存储过程访问数据到 ssrs 报告。但我没有得到答案。

它显示错误“[rsRuntimeErrorInExpression] 图表‘图表 4’的 Caption 表达式包含错误:查询未返回数据集的行。因此表达式的计算结果为 null。”

当我在服务器管理工​​作室中执行存储过程时,我得到了数据。但我没有在 ssrs 报告中获得数据。

当我搜索这个问题的解决方案时,一些网站要求在开头添加以下代码

   declare @FMTONLY bit

   if (1=0) begin
       set @FMTONLY=1;
        set FMTONLY off;
  end

存储过程结束

  if @FMTONLY=1
    begin
        set FMTONLY on;
    end

我这样做了,但它不适合我。

我想知道出现此错误的原因是什么? 我该如何解决这个错误?

提前致谢

【问题讨论】:

  • 我会从你的存储过程中取出任何额外的代码,它只会让事情变得混乱。你SP带参数吗?您是否尝试过从 Visual Studio/报表生成器中的数据集设计器执行数据集查询?您是否确保报告使用正确的凭据指向正确的数据库/服务器?
  • 我的存储过程使用了参数。我的报告指向正确的数据库。它的凭据是正确的。
  • 那么您是否尝试过从 VS/Report Builder 中的数据集设计器执行它?应提示您输入参数。这将准确地向您显示发送到您的报告的内容。

标签: sql-server stored-procedures reporting-services ssrs-2008 ssrs-2008-r2


【解决方案1】:

此 SQL 仅返回 null。

if (1=0) 永远不会为真,因此您的位永远不会发生任何事情 - 它永远不会设置为真或假,只有 null。

【讨论】:

    【解决方案2】:

    我不知道为什么会发生这个错误。我尽力解决这个问题。但我没有得到任何解决方案。最后,我用另一个名称和相同的凭据创建了一个新的共享数据源。并且有效。

    这不是此问题的有效解决方案。但这就是我解决问题的方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多