[填报与传统报表] <YonghongTech>脚本填报导致所有报告都打不开。

永洪tech-Lan 显示全部楼层 发表于 2021-12-30 17:28:34 |阅读模式 打印 上一主题 下一主题
脚本填报时,界面一直停留在正在缓冲界面,而后业务人员告知其他报表无法访问,经排查 所有链接这个库的报表都打不开了。
回复

使用道具 举报

精彩评论10

永洪Tech-CIDX白银二 显示全部楼层 发表于 2021-12-30 17:45:32
您好,我们先检查一下数据库能否连接,也可能是填报的数据量太大导致数据库宕机了
回复

使用道具 举报

yhdata_u9hupe6c铂金三 显示全部楼层 发表于 2021-12-30 18:08:51
永洪Tech-CIDX 发表于 2021-12-30 17:45
您好,我们先检查一下数据库能否连接,也可能是填报的数据量太大导致数据库宕机了 ...

数据库没问题,只是所有访问这个数据源的报表都打不开了
回复

使用道具 举报

yhdata_u9hupe6c铂金三 显示全部楼层 发表于 2021-12-30 18:12:42
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:00
如果是连接这个库的报表都看不了,应该就是数据库崩掉了。先检查下数据源测试连接是否成功
回复

使用道具 举报

yhdata_u9hupe6c铂金三 显示全部楼层 发表于 2021-12-30 18:16:41
Yonghong_Samuel 发表于 2021-12-30 18:13
如果是连接这个库的报表都看不了,应该就是数据库崩掉了。先检查下数据源测试连接是否成功 ...

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

使用道具 举报

SamuelLiu皇冠二 显示全部楼层 发表于 2021-12-30 18:40:20
yhdata_u9hupe6c 发表于 2021-12-30 18:16
数据库没问题呢.我这有两台服务器,只有填报的那台服务器访问不了数据库,另外一台是可以访问的.
也不是访 ...

你不是说其他报告也访问不了吗?没太明白。现在只是填报报告无法填报是吗?其他报告都能正常访问这个数据库?
回复

使用道具 举报

SamuelLiu皇冠二 显示全部楼层 发表于 2021-12-30 18:55:01
脚本看着没问题,看看创建连接是否成功了
回复

使用道具 举报

yhdata_u9hupe6c铂金三 显示全部楼层 发表于 2021-12-31 08:41:38
Yonghong_Samuel 发表于 2021-12-30 18:55
脚本看着没问题,看看创建连接是否成功了

在填报多次后,填报的界面就出现正在缓冲的界面 然后其他用户就不能访问了,也访问不了这个数据源下的其他报表
回复

使用道具 举报

yhdata_lV7qWaO5玄铁三 来自手机 显示全部楼层 发表于 2021-12-31 11:27:23
重启数据库试试能先恢复不,如果可以,把数据库的日志打开下吧。再复现下问题,看看数据库的日志是否有啥记录发生了什么
回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 免费注册

  • 官方微信

    欢迎关注永洪服务号!收费为0,价值无限

    扫码关注
  • 新浪微博

    让每位用户轻松挖掘数据价值!

    访问新浪微博
  • 智能客服
50W

会员等你来哦

Copyright   ©2012-2024  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |联系社区管理员|《永洪社区协议》
返回顶部