我们拥有开发,测试和生产的标准3环境设置。每个环境都有自己的报表服务器,Web服务器,数据库服务器等。
我们的部分迁移是在服务器之间移动业务对象(xi r2)报告,但截至目前,我们需要手动更新每个报告的连接设置。现在有40多份报道,这是一种轻微的痛苦,随着我们的继续,这将成为一场噩梦。
由于我们生成报告的方式,我们在生成报告时无法动态更改连接字符串。我们使用存储过程而不是Universes,因为这是团队最熟悉的。
任何建议都将不胜感激。
答案 0 :(得分:0)
有一个API可以用来以编程方式更新这类东西,虽然我不记得怎么做了。查看Business Objects提供的文档 - IIRC它们不是公开可用的(至少它们不是2006年我上次使用它时)所以你可能需要从供应商那里获得它们。
答案 1 :(得分:0)
我搜索得很远,看起来这是一个不寻常的情况。我的最终解决方案似乎没问题,就是在每个环境中都有一致的DSN连接字符串。这意味着每个连接字符串实际上是相同的。
它仍然感觉不对,如果有人有其他想法会很棒。
编辑:
经过一些测试后,我失败了,我发现许多存储过程都无法使用DSN运行。之后我彻底放弃了。
答案 2 :(得分:0)
在BusinessObjects SDK的CrystalDecisions.Enterprise.Desktop.Report Assembly中查看Report Class的ReportLogon类。用于更改数据库连接的几个选项。
我为客户编写了类似的内容,以便对Universe和WebI报告进行批量更改。我认为它与Crystal Reports非常相似。
答案 3 :(得分:0)
您是否正在更改Universe Connection或Universe?
在我们的环境中,我们通过让环境在环境之间命名相同但每个环境都有不同的连接来解决这个问题。这可以防止需要更改每个报告。