页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

打开smartbi报表加载慢,根据提供的CPU采样,定位是执行SQL/存储过程时数据库返回结果集慢,但是将一样的SQL放到数据库工具中执行,返回结果并不需要很长时间,此时可以测试通过Java调用jdbc驱动执行SQL,对比通过加载当前驱动执行SQL所花费的时间;存储过程时数据库返回结果慢,但是将一样的SQL放到数据库工具中执行,返回结果并不需要很长时间,此时可以测试通过Java调用jdbc驱动执行SQL,对比通过加载当前驱动执行SQL所花费的时间;

4、遍历结果集慢

打开smartbi报表加载慢,根据提供的CPU采样,定位是数据库执行SQL后遍历结果集慢,但是将一样的SQL放到数据库工具中执行,查看一定行数的结果集并不需要很长时间,此时可以测试通过Java调用jdbc驱动执行SQL,对比通过加载当前驱动遍历结果集花费的时间;

...

打开smartbi报表查询的数据数据或总行数和直接在数据库工具中查询的结果不一致,此时也可以测试通过Java调用jdbc驱动执行SQL并勾选显示查询结果,对比通过加载当前驱动执行SQL查询的数据是否和smartbi报表展示的一致。

操作步骤

1、检查数据库驱动

检查驱动程序存放目录,如果是war自带的,则跳过此步骤,检查数据源驱动程序存放目录,如果是产品内置的(包含在smartbi.war中),则跳过此步骤。

其中v9以上版本确定驱动路径的查看方式:

Image Added


如果是自定义添加的数据库动态驱动jar,需要找到jar的完整路径,注意如果是docker部署的,其jar路径不是通过linux ssh工具查看到的绝对路径,而是相对docker根路径的虚拟路径。

如下图是exe安装环境下添加的一个mysql动态驱动jar路径:下图是exe安装环境下添加的一个mysql动态驱动jar路径:

此时记下路径:D:\Smartbi\SmartbiInsight\Tomcat\bin\dynamicLibraryPath\mysql

如下图是docker环境下部署添加的一个动态驱动,需要加载的jar在图中的HADOOP下图是docker环境下部署添加的一个动态驱动,需要加载的jar在图中的HADOOP_HIVE目录:


此时需要记下路径:/tomcat/smartbiconfig/dynamicLibraryPath/HADOOP_HIVE

...

若为存储过程查询,浏览器访问地址修改为http://ip:port/smartbi/vision/testjdbcPro.jsp其中“驱动类目录”填写规则同上,“查询存储过程”根据实际执行语句填写。


4、提交并查看测试结果

点击页面中的提交按钮,查看返回结果。点击页面中的提交按钮,查看返回结果,

SQL查询

如果查询SQL勾选了显示结果集,在数据库连接正常且查询不报错时,显示效果如下图:

...

如果创建连接或者执行SQL报错,或者是驱动类目录填写有误,则错误信息后会显示一部分错误原因:

存储过程查询

如果存储过程有返回多个结果集,查询结果会分别显示各个结果集的信息:如果存储过程有返回多个结果集,测试结果会分别显示各个结果集的信息:

5、后续处理方案

上述场景中,需要根据测试结果分析确定后续处理方案

...

观察查询结果中的表格,对比表格中的数据和smartbi报表中展示的原始数据集的数据及总行数是否一致。如果在数据库工具中查询的数据和表格中的不一致,需要确认是否连接的是同一个库、查询的是否是同一个schema下的同名表,如果查询的目标对象都一致但是查询结果不一致,需要排查驱动的问题。


6、jsp页面报错

JSP页面进行查询测试,访问JSP页面报错如下:

Image Added

处理方案如下:

1、将JSP页面中对应行的“override”删除,重新放入页面文件;

Image Added


2、由于之前放入JSP页面已访问产生临时文件,需要先删除临时文件,可在exs-smartbi文件夹里搜索对应的jsp文件名。

路径:<Tomcat>/bin/exts-smartbi/smartbixxxxxxxwar/vision/

Image Added