任何人都知道如何将用户创build的用户报告(和模型)复制到另一个数据库(相同的模式)。
(a)真的很复杂,(b)以前的开发人员添加了许多友好的列名称,所以我不想重新创build数据模型。
如果您有原始的RDL / SMDL文件,复制报告非常容易; 只需重新部署/重新上传,并更改其名称/位置/数据源。
如果您没有原始的RDL / SMDL文件,则需要从报表服务器中提取这些文件并重新部署。 最简单的方法是通过rs.exe脚本。
下面介绍如何将报表从一台服务器复制到另一台服务器,但是当将报表等复制到同一台服务器(来自http://msdn.microsoft.com/zh-cn/library/ms159720.aspx )时,也适用相同的原则:
您可以编写在另一个报表服务器实例上复制报表服务器环境的脚本。 部署脚本通常使用Visual Basic编写,然后使用报告服务器脚本宿主实用程序进行处理。 以下列表介绍了将报表从一台服务器迁移到另一台服务器的步骤。
- 将您的脚本variables设置为源报表服务器的URL。
- 使用GetReportDefinition和GetProperties方法来检索报告定义和报告的属性。
- 将URL设置为指向目标服务器。
- 使用CreateReport方法,传递GetProperties返回的属性和GetReportDefinition返回的报表定义。
复制报告后,您可以更改报告和模型的数据源(假设您没有通过RSS脚本以编程方式完成):
如果他们使用的是共享数据源,那么将它们保持原样并更改它所引用的服务器会更容易,而不会触及报告和模型,因此将上面的第二点改为“查找它们引用的共享数据源“
我写了一个工具来做同样的事情。 也许它也会帮助你。
看看: http : //code.google.com/p/reportsync/