热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

Oracle回滚注意事项

回滚到fisrt()时注意使用next()时需要将光标移到第一行之前使用previous();packagecom.trs.util;www.2cto.comimportjava.util.Calendar;importjava.util.Date;importjava.util.Properties;impor...

回滚到fisrt()时注意使用next()时需要将光标移到第一行之前    使用previous();
 
package com.trs.util;
  www.2cto.com  
import java.util.Calendar;
import java.util.Date;
import java.util.Properties;
import java.sql.Connection;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
 
import org.apache.log4j.Logger;
 
import com.trs.client.TRSConnection;
import com.trs.client.TRSResultSet;
import com.trs.dao.oracleDao;
import com.trs.dao.trsDao;
 
public class checkTest {
    private static Logger CheckTRSLogger = Logger.getLogger("CheckTRSLogger");
    
    public static void check(){
        
        Date dateSta = null;                     //时间段起始
        Date dateEnd = null;                    //时间段结束
        Date dateComp = null;                     //总时间截止
        Calendar calSta=Calendar.getInstance(); 
        Calendar calEnd=Calendar.getInstance(); 
        Calendar calComp=Calendar.getInstance();
        String calStaString = "";  www.2cto.com  
        String calEndString = "";
        
        TRSConnection trsCon = null;
        TRSResultSet trsRs = null;
        Connection oraCon = null;
        ResultSet oracleRs = null;
        
        String table = "";//oracle中检索的表名
        String tableTem = "";//oracle中临时的表名
        String tableRecord =""; //记录遗漏的记录 
        String column_oracle1 = "";//oracel中检索的关键字段
        String column_oracle2 = "";//oracel中检索的字段
                
        String host = "";//trs数据库ip
        String port = "";//trs数据库端口
        String username = "";//trs数据库用户名
        String password = "";//trs数据库密码
        String library = "";//trs数据库中检索库名
        String column_trs1 = "";//trs数据库中检索字段名
        String column_trs2 = "";//trs数据库中关键字段名
               
        int trsNum = 0;    //TRS记录数量
        int oracleNum = 0;  //Oracle 记录数量
         
        try {
            DBUtil.loadProperties("oracleconfig.properties");
        } catch (Exception e2) {  www.2cto.com  
            e2.printStackTrace();
            CheckTRSLogger.error(e2.getMessage());
        }
        
        table = DBUtil.getConfigInfo("table");
        tableTem = DBUtil.getConfigInfo("tableTem");
        tableRecord = DBUtil.getConfigInfo("tableRecord");
        column_oracle1 = DBUtil.getConfigInfo("column_oracle1");
        column_oracle2 = DBUtil.getConfigInfo("column_oracle2");
                
        try {
            DBUtil.loadProperties("trsconfig.properties");
        } catch (Exception e2) {
            e2.printStackTrace();
            CheckTRSLogger.error(e2.getMessage());
        }
        
         host = DBUtil.getConfigInfo("host");//trs数据库ip
         port = DBUtil.getConfigInfo("port");//trs数据库端口
         username = DBUtil.getConfigInfo("username");//trs数据库用户名
         password = DBUtil.getConfigInfo("password");//trs数据库密码
         library = DBUtil.getConfigInfo("library");//trs数据库中检索库名
         column_trs1 = DBUtil.getConfigInfo("column1");//trs数据库中检索字段名
         column_trs2 = DBUtil.getConfigInfo("column2");//trs数据库中检索关键字段名  ID
               
        try {
            DBUtil.loadProperties("timeLimits.properties");
        } catch (Exception e2) {
            e2.printStackTrace();
            CheckTRSLogger.error(e2.getMessage());
        }
        
        String dateStaString = DBUtil.getConfigInfo("DateSta");
        String dateEndString = DBUtil.getConfigInfo("dateEnd");
        String dateCompString = DBUtil.getConfigInfo("dateComp");
        String dataFormate = "yyyy.MM.dd HH:mm:ss";  www.2cto.com  
        
        SimpleDateFormat dateformat = new SimpleDateFormat(dataFormate);
        
        try{
            dateSta = dateformat.parse(dateStaString);
            dateEnd = dateformat.parse(dateEndString);
            dateComp = dateformat.parse(dateCompString); 
            
            calSta.setTime(dateSta);
            calEnd.setTime(dateEnd);
            calComp.setTime(dateComp);
        }catch(Exception e){
            e.printStackTrace();
            CheckTRSLogger.error(e.getMessage());
        }
        
        int dayNum =(calEnd.get(Calendar.YEAR)-calSta.get(Calendar.YEAR))*365
                +calEnd.get(Calendar.DAY_OF_YEAR)-calSta.get(Calendar.DAY_OF_YEAR); 
        
        String calCompString = dateformat.format(calComp.getTime());
        //时间量小于截止时间执行比对程序
        while(calEnd.before(calComp)){
            
            calStaString = dateformat.format(calSta.getTime());
            calEndString = dateformat.format(calEnd.getTime());
            
            try{
                trsCon = trsDao.getTRSConnection(host, port, username, password);
                trsRs = trsDao.readTRS(trsCon, library, column_trs1, calStaString, calEndString);
                trsNum = (int)trsRs.getRecordCount();
                
                CheckTRSLogger.info("此时间段"+calStaString+"-----"+calEndString+"TRS记录量"+trsNum);
                
                oraCon = oracleDao.getOracleConnection();
                oracleRs = oracleDao.readOracle(oraCon, table, column_oracle1,column_oracle2, calStaString, calEndString);
                oracleRs.last();  www.2cto.com  
                oracleNum = oracleRs.getRow();
                oracleRs.first();
                oracleRs.previous();
                
                if(oracleNum>trsNum){
                    if(trsNum>0){
                        for (int i = 0; i
                        {
                            trsRs.moveTo(0, i);
                            String columnValue = trsRs.getString(column_trs2);
                            oracleDao.insertOracle(oraCon,tableTem,column_oracle1,columnValue);
                        }
                        
                        try{
                            trsRs.close();
                            trsCon.close();
                        }catch(Exception e){
                            e.printStackTrace();
                            CheckTRSLogger.error(e.getMessage());
                        }
                        
                        while(oracleRs.next()){
                            String temColumnValue = oracleRs.getString(column_oracle1);
                            if(!oracleDao.isExt(oraCon,tableTem,column_oracle1,temColumnValue)){
                                oracleDao.insertOracle(oraCon ,tableRecord,column_oracle1,temColumnValue);
                            }
                        }
                        oracleDao.deleteOracle(oraCon,tableTem);
                        
                    }else{
                        while(oracleRs.next()){
                            String temColumnValue1 = oracleRs.getString(column_oracle1);
                            oracleDao.insertOracle(oraCon ,tableRecord,column_oracle1,temColumnValue1);
                        }  www.2cto.com  
                    }
                }
                    
            }catch(Exception e){
                e.printStackTrace();
                CheckTRSLogger.error(e.getMessage());
            }finally{
                
                try{
                    oracleRs.close();
                }catch(Exception e){
                    e.printStackTrace();
                    CheckTRSLogger.error(e.getMessage());
                }
                
                try{
                    oraCon.close();
                }catch(Exception e){
                    e.printStackTrace();
                    CheckTRSLogger.error(e.getMessage());
                }
                
                try{
                    trsRs.close();
                }catch(Exception e){
                    e.printStackTrace();
                    CheckTRSLogger.error(e.getMessage());
                }
                
                try{
                    trsCon.close();
                }catch(Exception e){
                    e.printStackTrace();
                    CheckTRSLogger.error(e.getMessage());
                }
                
            }  www.2cto.com  
            
            CheckTRSLogger.info("已对比的时间段:"+calStaString+"----------"+calEndString);
            
            calSta = (Calendar)calEnd.clone();
            
            calEnd.add(Calendar.DAY_OF_YEAR, dayNum);
        }
    }
}
 
 
 
作者 ygsilence

推荐阅读
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • PHP图片截取方法及应用实例
    本文介绍了使用PHP动态切割JPEG图片的方法,并提供了应用实例,包括截取视频图、提取文章内容中的图片地址、裁切图片等问题。详细介绍了相关的PHP函数和参数的使用,以及图片切割的具体步骤。同时,还提供了一些注意事项和优化建议。通过本文的学习,读者可以掌握PHP图片截取的技巧,实现自己的需求。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了如何使用Power Design(PD)和SQL Server进行数据库反向工程的方法。通过创建数据源、选择要反向工程的数据表,PD可以生成物理模型,进而生成所需的概念模型。该方法适用于SQL Server数据库,对于其他数据库是否适用尚不确定。详细步骤和操作说明可参考本文内容。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 本文介绍了关于apache、phpmyadmin、mysql、php、emacs、path等知识点,以及如何搭建php环境。文章提供了详细的安装步骤和所需软件列表,希望能帮助读者解决与LAMP相关的技术问题。 ... [详细]
  • Android系统移植与调试之如何修改Android设备状态条上音量加减键在横竖屏切换的时候的显示于隐藏
    本文介绍了如何修改Android设备状态条上音量加减键在横竖屏切换时的显示与隐藏。通过修改系统文件system_bar.xml实现了该功能,并分享了解决思路和经验。 ... [详细]
  • 标题: ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 本文介绍了一些Java开发项目管理工具及其配置教程,包括团队协同工具worktil,版本管理工具GitLab,自动化构建工具Jenkins,项目管理工具Maven和Maven私服Nexus,以及Mybatis的安装和代码自动生成工具。提供了相关链接供读者参考。 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了StartingzookeeperFAILEDTOSTART相关的知识,希望对你有一定的参考价值。下载路径:https://ar ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
author-avatar
麦尔小哈PICA
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有