页面树结构
转至元数据结尾
转至元数据起始

正在查看旧版本。 查看 当前版本.

与当前比较 查看页面历史

« 前一个 版本 29 下一个 »

(本文档仅供参考)

有时候数据库报错往往会影响真实问题原因的分析,所以为了排查一些看似和smartbi相关但实际又是数据库jdbc驱动抛出的异常问题,可以通过java代码直接调用jdbc接口实现相关查询看是否正常,从而对比smartbi的逻辑是否有误。另外有时候报表加载慢,根据提供的CPU,定位是数据库那边执行了SQL后返回结果慢,但是将一样的SQL放到数据库中,返回结果并不需要很长时间,此时也可以测试通过Java调用jdbc驱动执行SQL,看执行SQL所需要的时间。

操作步骤:

1、检查数据库驱动位置,如果驱动是war自带的,则跳过此步骤,如果是额外添加的数据库动态驱动jar,需要将数据库驱动放在..smartbi/WEB-INF/lib目录下再重启。

2、下载testjdbcdata.jsp,并将testjdbcdata.jsp文件放到vision文件夹下,不需要重启。

(若是测试存储过程查询,下载testjdbcPro.jsp

3、浏览器访问 http://IP:PORT/smartbi/vision/testjdbcdata.jsp,在页面上填写待测试的数据库信息,其中查询SQL可选填。

注:IP和PORT需根据实际地址进行修改。

说明:勾选显示查询结果会查询出对应的结果集,由于是直接与数据库进行交互,请尽可能减少数据量。

若为存储过程查询,浏览器访问地址修改为http://ip:port/smartbi/vision/testjdbcPro.jsp,其中“查询存储过程”根据实际进行填写即可。

4、点击提交按钮,查看返回结果。

       如果查询SQL勾选显示结果集,显示效果如下图:

       

       如果查询SQL不填内容就提交,则jsp页面只执行创建连接和关闭连接测试,其他项的耗时会显示未执行。

在数据库连接正常且查询不报错并且不勾选显示查询结果时,网页的提交按钮下方可以看到类似如下的结果:

如果创建连接或者执行sql报错,则错误信息后会显示一部分错误原因。

在服务器最新的smartbi.log中,可以看到如下日志:


        如果在smartbi查询报错,但是在数据库中查询没问题,若通过此方式仍会报错,则需排查驱动的问题。若通过此方式可正常查询,可将结果截图发回,再进一步跟踪此问题;

        数据库执行SQL快,但在smartbi中执行慢,若通过此种方式查询所需的时间并不长,可将截图发回,同时将smartbi中查询所需的时间及录制CPU一并反馈发回,以便进一步跟踪此问题。


  • 无标签