永洪社区

标题: <YonghongTech>脚本填报导致所有报告都打不开。 [打印本页]

作者: 永洪tech-Lan    时间: 2021-12-30 17:28
标题: <YonghongTech>脚本填报导致所有报告都打不开。
脚本填报时,界面一直停留在正在缓冲界面,而后业务人员告知其他报表无法访问,经排查 所有链接这个库的报表都打不开了。

作者: 永洪Tech-CIDX    时间: 2021-12-30 17:45
您好,我们先检查一下数据库能否连接,也可能是填报的数据量太大导致数据库宕机了
作者: yhdata_u9hupe6c    时间: 2021-12-30 18:08
永洪Tech-CIDX 发表于 2021-12-30 17:45
您好,我们先检查一下数据库能否连接,也可能是填报的数据量太大导致数据库宕机了 ...

数据库没问题,只是所有访问这个数据源的报表都打不开了
作者: yhdata_u9hupe6c    时间: 2021-12-30 18:12
yhdata_u9hupe6c 发表于 2021-12-30 18:08
数据库没问题,只是所有访问这个数据源的报表都打不开了

以下内容为填报脚本,烦请查下是否有问题
var conn = null;
var user1=param["_USER_"]; //登录用户  
var datetime1=  toSQLDate(now(),DType.DATE_TIME);  //操作时间
var success = 0;
var success1 = 0;

                try {  
                conn = createConnection(CONNECTION, "005 xxxx/xxxx");   
                                var pstmt1 = conn.prepareStatement("delete from table1   where col1 is not null and col2=?");
                                      pstmt1.setString (1,user1);
                                          pstmt1.executeUpdate();   
                                var pstmt = conn.prepareStatement("insert into table1 (col1, col2,col3 ) values (?,?,?)");
                                      pstmt.setString (1,文本参数1.value);
                                      pstmt.setString (2,user1);
                                      pstmt.setString (3,datetime1);
                                      pstmt.executeUpdate();  
                                var pstmt3 = conn.prepareStatement("delete from q_r_sv_product_snpn   where col1 is not null and create_name=?");
                                      pstmt3.setString (1,user1);
                                          pstmt3.executeUpdate();   
                                var pstmt4=conn.prepareStatement("insert into q_r_sv_product_snpn (col1, col2,col3)  select  regexp_split_to_table(col1,' ') col1,col2,col3  from table1 where col1 is not null and  col2=?")
                                      pstmt4.setString (1,user1);
                                          success=pstmt4.executeUpdate();   
                                            conn.commit();
                                if(success > 0){
                                        try {  
                                                 debug("导入成功!!!");
                                                 conn.close();
                                        }catch(e){
                                                        try {
                                                                        if(conn != null) {
                                                                                        conn.rollback();
                                                                        }
                                                        }
                                                        catch(e1) {
                                                        debug("导入失败: " + e1);
                                                        }
                                                        debug("导入失败:" + e);
                                        }
                                }else                {
                         
                                                debug("导入失败!!!");
                                }
                }
                catch(e){
                                try {
                                                if(conn != null) {
                                                                conn.rollback();
                                                }
                                }
                                catch(e1) {
                                debug("导入失败: " + e1);
                                }
                                debug("导入失败:" + e);
                }
                finally {
                                if(conn != null) {
                                                try {
                                                                conn.commit();
                                                                conn.close();
                                                }
                                                catch(e2) {
                                                }
                                }
                }


refreshData()


作者: SamuelLiu    时间: 2021-12-30 18:13
如果是连接这个库的报表都看不了,应该就是数据库崩掉了。先检查下数据源测试连接是否成功
作者: yhdata_u9hupe6c    时间: 2021-12-30 18:16
Yonghong_Samuel 发表于 2021-12-30 18:13
如果是连接这个库的报表都看不了,应该就是数据库崩掉了。先检查下数据源测试连接是否成功 ...

数据库没问题呢.我这有两台服务器,只有填报的那台服务器访问不了数据库,另外一台是可以访问的.
也不是访问不了数据库,数据源 测试能通过, 只是一直在缓冲

作者: SamuelLiu    时间: 2021-12-30 18:40
yhdata_u9hupe6c 发表于 2021-12-30 18:16
数据库没问题呢.我这有两台服务器,只有填报的那台服务器访问不了数据库,另外一台是可以访问的.
也不是访 ...

你不是说其他报告也访问不了吗?没太明白。现在只是填报报告无法填报是吗?其他报告都能正常访问这个数据库?
作者: SamuelLiu    时间: 2021-12-30 18:55
脚本看着没问题,看看创建连接是否成功了
作者: yhdata_u9hupe6c    时间: 2021-12-31 08:41
Yonghong_Samuel 发表于 2021-12-30 18:55
脚本看着没问题,看看创建连接是否成功了

在填报多次后,填报的界面就出现正在缓冲的界面 然后其他用户就不能访问了,也访问不了这个数据源下的其他报表
作者: yhdata_lV7qWaO5    时间: 2021-12-31 11:27
重启数据库试试能先恢复不,如果可以,把数据库的日志打开下吧。再复现下问题,看看数据库的日志是否有啥记录发生了什么
作者: 永洪Tech-CIDX    时间: 2021-12-31 11:33
yhdata_u9hupe6c 发表于 2021-12-31 08:41
在填报多次后,填报的界面就出现正在缓冲的界面 然后其他用户就不能访问了,也访问不了这个数据源下的其他 ...

其他报告打开也会出现正在缓存的界面吗?可以上传一下界面截图吗?我们的另一台服务器是否有部署BI访问C节点,如果过部署了,通过这个节点访问这个数据源的报告能打开吗?




欢迎光临 永洪社区 (http://club.yonghongtech.com/) Powered by Discuz! X3.4