我们拥有开发,测试和生产的标准3环境设置。每个环境都有自己的报告服务器,Web服务器,数据库服务器等。环境迁移BO报告
我们的部分迁移是在服务器之间移动我们的业务对象(xi r2)报告,但现在我们需要手动更新连接每个报告的设置。现在有40多份报告,这是轻微的痛苦,随着我们的继续,这将成为一场噩梦。
由于我们如何生成报告,我们无法在生成报告时动态更改连接字符串。我们使用存储的procs而不是Universes,因为这是团队最熟悉的。
任何建议将不胜感激。
我们拥有开发,测试和生产的标准3环境设置。每个环境都有自己的报告服务器,Web服务器,数据库服务器等。环境迁移BO报告
我们的部分迁移是在服务器之间移动我们的业务对象(xi r2)报告,但现在我们需要手动更新连接每个报告的设置。现在有40多份报告,这是轻微的痛苦,随着我们的继续,这将成为一场噩梦。
由于我们如何生成报告,我们无法在生成报告时动态更改连接字符串。我们使用存储的procs而不是Universes,因为这是团队最熟悉的。
任何建议将不胜感激。
我搜查了很多,这似乎是一个不寻常的情况。我的最终解决方案似乎没问题,就是在每个环境中都有一致的DSN连接字符串。这意味着每个连接字符串都是相同的。
它仍然感觉不对,如果有人有其他想法会很好。
编辑:
测试后一点点,我发现我们的许多存储proceedures的使用DSN不会跑这悲惨地失败了。之后,我完全放弃了。
有一个API,你可以用它来编程地更新这种东西,但我不记得如何去做。查看Business Objects - IIRC提供的文档,它们不是公开提供的(至少在2006年,当我上次使用它时),所以您可能必须从供应商处获得它们。
查看BusinessObjects SDK的CrystalDecisions.Enterprise.Desktop.Report Assembly中的Report Class'ReportLogon Class。很多选项用于更改数据库连接。
我为客户端写了类似的东西来进行批量更改Universe和WebI报告。我会想象它对Crystal Reports非常相似。
你是在自己改变宇宙连接还是宇宙?
在我们的环境中,我们通过让Universe在环境中命名相同,但每个环境都有不同的Connection by环境来解决此问题。这可以防止需要更改每个报告。
Simliar to this(http://stackoverflow.com/questions/40545/replace-a-database-connection-for-report-and-all-subreports)但由于我们直接使用存储库,所以这些解决方案不起作用。 – smaclell 2009-10-06 14:08:41