错误提示“数据集引用的共享数据集不可用”。意思?

时间:2019-06-05 06:45:03

标签: sql-server reporting-services

我有一个报告模板(.rdl文件),该模板具有一个嵌入式数据集“ X”,该数据集引用了共享数据集“ Y”(。rsd文件)。这两个文件都位于同一文件夹中。

当我尝试生成报告时,出现错误“数据集'X'指的是不可用的共享数据集'Y'。”

数据集不包含comma-separated stringsempty values

更新(2019-06-07):与上述相反,数据确实包含空值。我没有意识到过滤器会清空最终结果。

我也确保了数据源也是共享的。

可以识别其他共享数据集,但不能识别。

我已经查看了数据库权限,但是我已经能够从SSMS中的数据集中运行SQL查询而不会出现问题,这似乎表明该权限是有效的。也许使用数据集的应用程序需要特定的数据库权限。

这是有问题的数据集:

    <?xml version="1.0" encoding="utf-8"?>
    <SharedDataSet xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner" xmlns="http://schemas.microsoft.com/sqlserver/reporting/2010/01/shareddatasetdefinition">
      <DataSet Name="">
        <Query>
          <DataSourceReference>XXX</DataSourceReference>
          <DataSetParameters>
            <DataSetParameter Name="@Foo">
              <ReadOnly>false</ReadOnly>
              <Nullable>false</Nullable>
              <OmitFromQuery>false</OmitFromQuery>
              <rd:DbType>Object</rd:DbType>
            </DataSetParameter>
          </DataSetParameters>
          <CommandText>***a SQL query***</Query>
        <Fields>***some fields***
        </Fields>
        <Filters>***some filters***
        </Filters>
      </DataSet>
    </SharedDataSet>

这个似乎没有问题:

    <?xml version="1.0" encoding="utf-8"?>
    <SharedDataSet xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner" xmlns="http://schemas.microsoft.com/sqlserver/reporting/2010/01/shareddatasetdefinition">
      <DataSet Name="">
        <Query>
          <DataSourceReference>XXX</DataSourceReference>
          <DataSetParameters>
            <DataSetParameter Name="@FooId">
              <ReadOnly>false</ReadOnly>
              <Nullable>false</Nullable>
              <OmitFromQuery>false</OmitFromQuery>
              <rd:DbType>Object</rd:DbType>
            </DataSetParameter>
            <DataSetParameter Name="@BarId">
              <ReadOnly>false</ReadOnly>
              <Nullable>false</Nullable>
              <OmitFromQuery>false</OmitFromQuery>
              <rd:DbType>Object</rd:DbType>
            </DataSetParameter>
          </DataSetParameters>
          <CommandText>***SQL QUERY***</CommandText>
        </Query>
        <Fields>***some fields***
        </Fields>
        <Filters>
          <Filter>***some filters***
          </Filter>
        </Filters>
      </DataSet>
    </SharedDataSet>

更新(2019-06-06):显然,删除过滤器并确保查询不会产生空结果可修复错误。如果有过滤器,或者查询结果为空,则返回错误。我还不知道为什么会这样。

更新(2019-06-07):筛选器导致数据集返回空记录集(0行)。这似乎是导致错误的原因。在我进行的所有测试中,至少有一行数据有效并且有0行数据的情况下均显示错误。

0 个答案:

没有答案