我有一个包含多个报告项目的解决方案(每个目标部署文件夹一个 - 我认为这是实现此效果的唯一方法,至少在我放弃 Visual Studio 进行报告部署之前)。
我想为所有这些报告“一次且仅一次”指定我的数据源信息。
到目前为止,我已经创建了一个单独的报告项目,其中包含我的共享数据源。如果我以正确的顺序将内容部署到报告服务器并向相应的神灵提供足够的祈祷,则报告似乎会链接到那里的共享数据源并运行(至少通过 IE 中的报告管理器)。
但是,当我开发报告时,我无法再“预览”在本地进行尝试 - 我现在must将其部署到报表服务器以尝试运行它。这就麻烦了。
我唯一的办法是添加一大堆数据源副本(指向我的开发数据库),每个项目中都有一个,将它们设置为不在我的计算机上部署,并且(可能)将它们排除在源代码控制之外?
我现在正在使用的一种技术(肮脏的伎俩?)是复制我的数据源(.rds
)进入每个项目,关闭 Visual Studio,然后在底层文件/文件夹中:
- 删除复制的
.rds
来自我的报告项目(只留下我的一份副本)Data Sources
项目)
- 在每个报告项目的项目文件中(
Foo.rptproj
),更改文本Project.DataSources.ProjectItem.FullPath
元素来自My Shared Data Source.rds
to ..\Data Sources\My Shared Data Source.rds
这样,所有报告项目都引用文件系统上的相同基础文件,因此它们共享单个数据源定义,但每个项目也有一个“本地”共享数据源,因此 Visual Studio 保持满意。
关于源代码控制:仍然只有一份副本.rds
签入,因此我们不会用大量令人讨厌的重复项污染代码库;的变化.rptproj
文件可以签入,因此我们不会强迫开发人员进行不自然的源代码控制体操(选择性部分提交等)来维护健全的主副本。
每个报告项目都会尝试部署这个数据源,尽管我已经禁止覆盖服务器上现有的数据源,所以这没什么大不了的。 。 。我想如果我打算覆盖服务器的数据源定义,那么我是否用相同的内容覆盖它一次或十次并不重要.rds
.
免责声明:这仍然是一个实验。我还没有在实践中使用这种技术的经验,所以我不能真正推荐它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)