2010-05-06 19 views
0

我有一份将部署到InfoView服务器的Crystal 2008报告。用户可能想要执行报告的有四种不同的数据库。四个数据库中的每一个具有完全相同的模式。只有每个数据是不同的。每个数据库都对应着我们在世界各地拥有的工厂。我可以更改数据库服务器和数据库报告指向动态吗?

而不是创建四个不同的报告(每个报告连接到四个数据库之一),我能够根据用户输入参数值动态地更改服务器/数据库的报告命中?我真的试图避免创建四个相同的报告,除了每个数据库连接。如果这不可行,开发人员通常如何处理这种情况?我会想象它是相当普遍的。

非常感谢。

回答

1

InfoView不支持动态更改报表的数据源。您当然可以修改InfoView源代码以满足您的需求,但这将是一个挑战,BO不会支持。

另一种选择是用BusinessObjects Enterprise SDK构建一个自定义门户,但这也需要相当多的编码。

可能最好的选择是多次发布报告,根据需要设置每个数据源(通过CMC),并更改报告的名称以指示其数据源(通过CMC)。我在CMC中有一个报告属性,可以保存数据源设置,以便在对原始文件进行更改时快速重新发布报告。

0

我对InfoView并不熟悉,但是做你所描述的事情很常见,我用Asp.Net和Winforms做了类似的事情;如果您有权访问Crystal Reports对象模型,则可以使用广泛的选项来设置登录信息,我认为它是SetDatabaseLogon;如果你有子报表,你必须为每一个单独设置登录。

模式必须完全相同,否则用户将收到警告。

相关问题