cancel
Showing results for 
Search instead for 
Did you mean: 

BOE的三个问题

Former Member
0 Kudos

1、universe使用的连接是mssql2008的JDBC,怎么设置能让转换的SQL能自动加上NOLOCK,而不是在数据库调整隔离级别

2、派生表结果集过大的话,会在打开universe的时候很慢导致最终报连接错误,导出后在WEBI上使用确没问题,怎么处理这种情况

3、如何设置能保证WEBI报表的统计结果不会因为事实表的记录数超过设置的返回结果集行数,而导致统计错误,只有派生表、构建各类汇总的事实表来解决么,有没有一劳有逸的办法

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

1. 关于隔离级别的问题我发现两个KAB你可以参考一下

1204481 - How to set the isolation level for an ODBC MSSQL reporting database connection to allow Re...

1344187 - How To Force The Business Objects Reports And Queries Not To Lock Database Tables

2.不太清楚你的具体的发生条件。一般情况下结果太大的话就是在universe designer 中设置相关行数限制。

3. 是的只有针对事实表做一个汇总的派生表直接发SQL到数据才能取回正确的值。

在Webi报表层面只能统计报表本身数据量。

Answers (1)

Answers (1)

0 Kudos

1.请参考KBA  1186745在\JDBC\sqlsrv.sbo文件中加入<Parameter Name="Transaction Isolation Level">READ UNCOMMITTED</Parameter>

2.有一种可能是32位的UDT从内存上来说没法处理那么多数据,而在64位服务器上运行的WebI可以。派生表的作用本身是用来将原始表的结果结合并汇总用的,建议不要后悔太多结果,否则将失去意义。

3.最简单的办法,就是将返回结果集行数设置为无限制。另外一种,就是不让WebI做统计,将统计交给数据库去做,也就是将Measure的函数从Sum等改成Database Delegated,这样报表里面除了查询面板的Query以外,每一个用于统计的Block(Table或者Chart)都会重新发一份Query到数据库,让数据库来根据表的统计粒度来返回统计结果。