(本文档仅供参考)
使用场景
此jsp是直接调用驱动执行单条SQL,执行的SQL语句必须是一个 SQL 数据操作语言(Data Manipulation Language,DML)语句,比如 INSERT、UPDATE 或 DELETE 语句;或者是无返回内容的 SQL 语句,比如 DDL 语句。调用的是jdbc驱动实现的标准PreparedStatement接口的executeUpdate()方法,未走产品的代码逻辑,主要测试场景如下:
1、回写(插入、删除、更新);
2、excel导入模板不开启批量的执行(插入、更新);
3、知识库数据更新(插入、删除、更新)
注:此jsp调用的是驱动通用接口,而产品层面对部分数据库有进行优化对应的逻辑,故某些情况下,驱动返回的速度可能会更慢。
操作步骤
1、获取执行SQL
参考wiki文档如何获取报表或数据集执行的sql语句及其执行时长获取到SQL。比如回写则需要查看用户日志中的Update SQL。
2、修改SQL语句
回写语句中,是需要手动将问号转化为对应的数据,根据数据类型判断是否需要加引号
3、下载jsp文件放到vision文件夹
下载testjdbcupdate.jsp,并将testjdbcupdate.jsp文件放到Smartbi的vision文件夹下,不需要重启应用服务器。
4、访问jsp页面执行数据库语句
浏览器访问 http://IP:PORT/smartbi/vision/testjdbcupdate.jsp ,在页面上填写待测试的数据库信息。
注:IP和PORT需根据实际地址进行修改。
如果是动态驱动则需要设置驱动类目录,获取步骤见wiki文档(Java调用jdbc驱动测试)中的步骤1。
5、提交并查看测试结果
5.1、放入需要测试的SQL到jsp中
点击提交后即可查看到该SQL执行的结果及耗时。
如果sql执行成功,“更新结果=”后会跟一个数值代表影响的行数,该数值大于等于0。
一般insert语句成功执行了 =后面就是1;update和delete语句得看where条件定位的记录数。
6、后续处理方案
上述场景中,需要根据测试结果分析确定后续处理方案。若在smartbi中异常,若通过此种方式测试正常,可将截图发回,以便进一步跟踪此问题。