Nom*_*per 17 sql-server sql-server-2008-r2 reporting-services ssrs-2008
我正在运行2008 R2
我有一整套报告,我必须加载到RS.这些是由第三方开发并发送给我们公司的.它们连接到共享数据源.我将报告上传到按功能分隔的文件夹中.问题是他们没有看到报告编写使用的数据源.我创建了一个共享数据源并将报告指向它.连接测试成功但是当我运行报告时,我继续收到以下错误:
"报表服务器无法处理报表或共享数据集.报表服务器或SharePoint的共享数据源'dsMyObject'无效.浏览到服务器或站点并选择共享数据源.(rsInvalidDataReference)"
当我在嵌入式数据源中使用完全相同的凭据时,报表会运行,在我运行它之后,我可以将其更改回我创建的共享数据源,并且运行得很好.
我的问题是这个过程效率太低我需要很多报告,还有更多的服务器要滚动它,必须手动来回切换数据源才能使它工作.
我注意到,当我查看数据源列表时,我看到我在第一行创建的DS名称和下一行的位置(http:// [Server]/reports/[Data Source Folder]虽然供应商创建的DS在两行上都有DS的名称.这使我相信有一种方法可以将DS加载到SSRS中,并使用与供应商使用的相同名称来允许报告自动使用它们.我找不到任何告诉我如何做的事情所以我在这里问这个问题.如何获取预先编写的报告以查看我将报告部署到服务器上的共享数据源?
提前致谢,
Bor*_*ris 16
我知道这是一个非常古老的问题,但我遇到过这个问题,因为过去两天我遇到了类似的问题.但是,根据我的经验,解决方案更简单 - 所以我会添加它以防万一其他人在将来搜索这个.
在将报告部署到RS 之前,需要创建数据源.这是我发生的事情:
1)我在添加数据源之前首先部署它们,但它们不起作用:既不是我正在处理的应用程序,也不是RS
2)然后我创建了一个数据源,但这对现有报告没有任何作用.我能够配置其中的一些并将它们指向新的数据源,这是有效的.如果你想批量执行此操作,你可能会使用上面建议的RS实用程序或类似的东西,但我没有尝试过这些.
3)我尝试将报告重新部署到RS中,但显然RS不会覆盖未更改的项目,因为重新部署的报告仍然没有获取数据源
4)然后我删除了现有报告并重新部署 - 这修复了它,他们立即获取了数据源.
Bri*_*ght 13
这是SSRS的一大缺点.在SSRS中创建报告和数据源时,会在ReportServer数据库中为它们分配唯一标识符.上载报告时,它们无法识别与构建报告的名称相同的现有数据源.
解决此问题的一种方法是使用SSRS附带的rs.exe实用程序.它可用于批量任务,包括在报告上设置数据源元数据.有关更多技术信息,请参阅以下链接.
我发现解决此问题的最简单方法是简单地创建一个使用共享数据源的新报告。在 SSRS2012/VS2010 中,向导的第一页询问是否使用“共享数据源”或创建“新数据源”。采用第一个选项(并继续创建虚拟报告并保存它)会生成一个在节与节之间包含节的 RDL,如下所示:
  <DataSources>
    <DataSource Name="shared_datasource_name">
      <DataSourceReference>shared_datasource_name</DataSourceReference>
      <rd:SecurityType>None</rd:SecurityType>
      <rd:DataSourceID>f00b5045-1a8c-44be-952b-cca1ce9c57d6</rd:DataSourceID>
    </DataSource>
  </DataSources>
我只是将此部分复制粘贴到我想要的报告 RDL 中的同一位置。它很乐意在预览期间和重新部署时使用该数据源。
小智 5
使用共享数据源手动更新一个报告。在[ReportServer].[dbo].[DataSource]表格中,记下该报告的“链接”值,然后只需更新Name列中具有“数据源”的重置
update [ReportServer].[dbo].[DataSource]
set Link = '01B758F2-B597-43BE-A90F-416DF3CDA396'
where Name = 'PNLDS'
and Link is NULL
| 归档时间: | 
 | 
| 查看次数: | 28863 次 | 
| 最近记录: |