![SSRS 2005 复制报告、数据模型等](https://linux22.com/image/494238/SSRS%202005%20%E5%A4%8D%E5%88%B6%E6%8A%A5%E5%91%8A%E3%80%81%E6%95%B0%E6%8D%AE%E6%A8%A1%E5%9E%8B%E7%AD%89.png)
有人知道我如何复制某人创建的用户报告(和模型)以指向另一个数据库(相同模式)。
我真的不想重新创建数据模型,因为(a)它真的很复杂,而且(b)之前的开发人员添加了很多友好的列名。
答案1
如果您有原始 RDL/SMDL 文件,复制报告非常容易;只需重新部署/上传,然后更改其名称/位置/数据源。
如果您没有原始 RDL/SMDL 文件,则需要从报告服务器中提取这些文件并重新部署。最简单的方法是通过脚本rs.exe
。
下面介绍如何将报告从一台服务器复制到另一台服务器,但将报告等复制到同一台服务器时也适用相同的原则(从http://msdn.microsoft.com/en-us/library/ms159720.aspx):
您可以编写脚本来复制另一个报表服务器实例上的报表服务器环境。部署脚本通常用 Visual Basic 编写,然后使用报表服务器脚本宿主实用程序进行处理。以下列表描述了将报表从一台服务器迁移到另一台服务器的步骤。
- 将脚本变量设置为源报表服务器的 URL。
- 使用 GetReportDefinition 和 GetProperties 方法来检索报表定义和报表的属性。
- 设置 URL 以指向目标服务器。
- 使用 CreateReport 方法,传递 GetProperties 返回的属性和 GetReportDefinition 返回的报表定义。
复制报告后,您可以更改报告和模型的数据源(假设您尚未通过 RSS 脚本以编程方式完成此操作):
- 在报告管理器中,单击工具栏中的“显示详细信息”
- 浏览到包含您想要更改的对象(报告或模型)的文件夹
- 单击其属性
- 在数据源页面中,更改数据源详细信息以指向新数据库(如果需要,也更改凭据)
如果他们使用共享数据源,则更容易保持原样并更改其引用的服务器,而无需触及报告和模型,因此将上面的第二点更改为“查找他们引用的共享数据源”
答案2
我写了一个工具来做同样的事情。也许它也能帮到你。