好的,有类似的问题,但这不是重复的。当您有引用共享数据集的参数时,似乎会出现此错误。在我的情况下,从服务器中删除报告并重新部署并不能解决问题。
因此,我正在使用商业智能开发工作室 BIDS 在 VS 2010 Professional 上进行开发,BIDS 受 Team Foundation Server 的源代码控制。我正在部署到我认为可能是问题的 2008R2 服务器。解决方法是更改要嵌入的数据集引用,而不是阻止这个错误死在它的轨道上,但在我看来这很糟糕,我希望最终能对共享数据集进行这项工作。
我尝试过的事情:
- 确保数据集的命名与参考相匹配。EG:“名称是 ClientQuery,共享数据集是 ClientQuery”
- 确保服务器上的命名与步骤 1 中的引用相匹配。
- 通过删除对共享数据集的引用,确保这是破坏它的原因,然后立即工作。
- 确保共享数据集未在服务器上启用某种类型的缓存。
- 我在第二个共享数据集限制范围上有一个过滤器,我删除了它,但仍然存在错误。
- 删除了所有参数,只添加了一个共享数据集,它立即给出错误。
- 为参数绑定添加了一个选项,以说明:“允许空值”。也对 Null 进行了此操作。
- 重新创建了所有内容,一个全新的 RDL 文件,并仅在报告正文上复制和粘贴元素,但明确创建了参数和数据集,这仍然会发生。
9. 更新 - 我已经完成了旧的 RDL 销毁,然后希望重新部署。我在网上发现了很多。这在这种情况下不起作用。它几乎就像 RDL 中的这个参考:
< DataSet Name="**ClientQuery**">
< SharedDataSet>
< SharedDataSetReference>**ClientQuery**</SharedDataSetReference>
< /SharedDataSet>
< Fields>
< Field Name="CUSTOMER_ID">
< DataField>CUSTOMER_ID</DataField>
< rd:TypeName>System.String</rd:TypeName>
< /Field>
< Field Name="CUSTOMER_NAME">
< DataField>CUSTOMER_NAME</DataField>
< rd:TypeName>System.String</rd:TypeName>
< /Field>
< /Fields>
< /DataSet>
似乎以某种方式提及此引用会造成严重破坏。我会检查我的项目下的 bin(environment) 目录。(我为多个环境部署并在解决方案配置下设置 QA、UAT、PROD 等)每次 RDL 都按应有的方式进行更新并发布我正在显示的更新。我认为当人们看到他们的报告文件没有在服务器上更新时,“重建”是很多问题,在我的情况下,重建通常会更新 RDL,而不是先点击部署。
虽然所有这一切都在发生,但困难的部分是它每次都可以无缝地在 BIDS 上进行更改。所以错误完全是在处理源服务器认为 rdl 数据所代表的内容。
非常感谢任何帮助,我会评价自己在 SSRS 上的先进水平,但这让我很难理解错误所指的是它没有得到什么。