- 浏览: 336713 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
327764984:
CommonSql里不知道把PreparedStatment和 ...
Connection.setAutoCommit使用的注意事项 -
netwelfare:
文章讲解的不详细啊,很多东西没有讲解出来。看到这篇文章讲解的挺 ...
java字符串的拆分 lang.String.split -
iceage1980:
博主你好 我用了你这个代码 为什么总是在 if (this. ...
MD5 码 校 验 -
wisdomtl:
最后一段代码有写小的错误最后一个具体工厂的实现应该返回Cowb ...
JAVA设计模式之工厂模式 -
jateide:
网上随便转载的东西,自己都没有经过使用,好意思发出来,而且还不 ...
正则表达式中后向引用、零宽断言、负向零宽断言的解释用法
回滚到fisrt()时注意使用next()时需要将光标移到第一行之前 使用previous();
package com.trs.util;
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 = "";
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) {
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";
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();
oracleNum = oracleRs.getRow();
oracleRs.first();
oracleRs.previous();
if(oracleNum>trsNum){
if(trsNum>0){
for (int i = 0; i < trsNum; 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);
}
}
}
}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());
}
}
CheckTRSLogger.info("已对比的时间段:"+calStaString+"----------"+calEndString);
calSta = (Calendar)calEnd.clone();
calEnd.add(Calendar.DAY_OF_YEAR, dayNum);
}
}
}
发表评论
-
向数据库插入中文乱码【转】
2015-05-02 19:35 1436又遇到乱码问题,这个编码问题有时候真是让人头大。找了半 ... -
查询最近1天,2天,3天,一个星期,两个星期的记录
2013-08-05 19:28 1267if you use SQL Server, ... -
tomcat web.xml配置(转)
2013-03-27 15:17 1240web.xml元素介绍 我将自 ... -
使用PLSQL_developer创建用户【转】
2013-01-04 10:33 4388Oracle如何实现创建数据库、备份数据库及 ... -
java获取URL内容截取后保存到Excel中
2012-11-01 16:27 2519通过java.net 访问相应url,过滤返回的信息,并保存 ... -
java 反射
2012-10-24 14:47 1149java反射是java控制反转 ... -
POI包说明
2012-10-18 13:40 1775在线Javadoc:http://www.osctool ... -
JAVA_IO详解_包括讲解IO中各种流及其用法
2012-10-18 13:21 1104个人感觉比较详细的javaIO资料,下载附件 -
Spring入门示例及相关概念介绍(转)
2012-07-01 15:38 1238Spring入门示例及相关概念介绍 作者:http:/ ... -
servlet中init()和service()方法的区别(转)
2012-06-26 14:43 1846servlet中init()和service() ... -
getRequestDispatcher()与sendRedirect()的区别(转)
2012-06-26 14:37 11351.request.getRequestDispatch ... -
JAVA数据结构(~转~)
2012-06-26 13:45 1197JAVA数据结构 线性表,链表,哈希表是常用的数据结构 ... -
Java多线程编程总结(转)
2012-06-18 09:59 1066Java多线程编程总结 下面是Java线程系 ... -
JAVA IO 设计模式彻底分析(转)
2012-06-15 20:01 1287我想任何一本介绍模式的书在讲到Decorator模式的时候不能 ... -
J2EE开发常用开源框架技术(转)
2012-06-14 16:36 8095主要就我所了解的J2EE开发的框架或开源项目做个介绍,可以根据 ... -
Date 和 Calender 的转化 (转)
2012-04-09 14:23 1557Date 和 Calender 的转化 ... -
创建Java线程池(转)
2012-03-30 17:30 1410线程池的作用: 线程池作用就是限制系统中执行线 ... -
对Servlet的初始化的理解
2012-03-12 11:33 1749在读我自己的认识之前 , 我们 ... -
用java调用oracle存储过程总结
2012-02-17 14:30 01、什么是存储过程。存储过程是数据库服务器端的一段程序,它 ... -
JAVA设计模式之工厂模式
2012-02-17 11:03 13146JAVA设计模式之工厂模 ...
相关推荐
在IT行业的数据库领域,Oracle作为一个广泛使用的数据库管理系统,其开发过程中的注意事项对于确保系统的稳定性和效率至关重要。以下是从给定的文件标题、描述、标签以及部分内容中提炼出的关键知识点: ### Oracle...
1. Oracle和SQL面试准备:文档中提到了“部分常见ORACLE面试题以及SQL注意事项”,这暗示文档中包含了针对Oracle数据库和SQL语言的面试准备知识点。由于文件中对创建表和SQL语句有具体的描述,我们可以推断文档可能...
- **注意事项**: 需要确保所有必要的Oracle服务进程都在运行中,如`oracle`进程等。 - **计数命令**: `$ ps -ef | grep ora_ | grep -v grep | wc -l` - **输出示例**: `oracle 2960 10 May 07` - **解释**: 这里...
- 提供事务支持,包括提交、回滚和崩溃恢复能力。 - 支持行级锁定,提高并发性能。 - 提供非锁定读取,即在SELECT查询中不会锁定行。 - 不需要锁定扩展,因为行级锁占用空间小。 - 支持外键约束,确保数据的...
五、Oracle回滚段与SQL Server的数据库事务日志文件 这部分内容将对比两个数据库系统中用于事务恢复和数据一致性的机制。Oracle的回滚段和SQL Server的数据库事务日志文件在管理事务日志和实现回滚操作中扮演关键...
六、注意事项 1. 错误处理:OCPI API中的函数通常返回一个状态,需要检查是否成功,并使用`OCIErrorGet()`获取错误信息。 2. 性能优化:批量执行SQL,预编译语句,使用绑定变量等技术可以提升性能。 3. 安全性:避免...
#### 三、注意事项 1. **顺序性**:停机时应先关闭主用机再关闭备用机;启动时则应先启动备用机再启动主用机。 2. **同步状态**:在关闭备用机前,必须先取消日志同步,以防止数据丢失。 3. **监听器管理**:确保在...
下面我们将深入探讨如何在C#中使用oci.dll进行Oracle数据库的直连,以及相关的注意事项和步骤。 首先,oci.dll是Oracle提供的一个动态链接库,它提供了对Oracle数据库的底层访问。由于不需要Oracle客户端,这种方法...
对于想要入门Oracle开发的初学者来说,了解Oracle的基础知识和开发注意事项至关重要。本知识点从Oracle开发入门书籍的标题、描述、标签以及部分内容出发,详细介绍了Oracle的各个方面。 首先,Oracle数据库的基础...
6. **其他注意事项**: 单实例升级通常比RAC(Real Application Clusters)更简单,但仍然需要谨慎处理。在实际操作中,可能还需要关注网络配置、权限设置、初始化参数文件(init.ora)的调整,以及在升级后执行...
4. **注意事项**: - 安全性:备份应存储在安全位置,避免未经授权的访问。 - 测试:在实际环境前,先在测试环境中验证备份和恢复流程。 - 计划:定期执行备份,并根据业务需求制定合理的备份策略。 - 空间管理...
在本篇文章中,我们将详细探讨Oracle最全卸载的方法,包括必要的步骤、注意事项以及可能遇到的问题及其解决策略。 首先,我们需要理解Oracle数据库的组件结构。Oracle数据库由多个组件构成,包括数据库实例、监听器...
### Linux-UNIX环境下创建Oracle8i数据库的详细步骤与注意事项 #### 标题与描述解析: 标题和描述都提到了“Linux-UNIX环境下如何创建Oracle8i数据库”,这明确指出文章将聚焦于如何在Linux或UNIX操作系统上安装并...
首先,关于数据库恢复,在文档中特别提到“数据库非常规恢复”的注意事项。文档明确指出,以下内容仅供在非生产环境测试使用,而不能用于生产环境数据库。这强调了数据库恢复操作的风险性,尤其是那些内部方法如BBED...
### Oracle 9i 升级至 10g 的详细步骤及注意事项 #### 背景与目标 本文档详细阐述了从Oracle 9i升级到Oracle 10g的过程,特别聚焦于在HPUX操作系统下的升级流程。此次升级的目的在于迁移现有的Oracle 9.2.0.1...
### 转:PB12 开发 WebService 注意事项 #### 概述 在将一个传统的C/S(客户端/服务器)MIS系统改造为基于WebService的C/S/S架构的过程中,会遇到一系列技术挑战与注意事项。以下内容是针对这一转换过程中所记录的...
### 注意事项 文档中提供的操作指南对于非专业人士具有一定的难度,因此在执行安装和配置过程中需要具备相应的数据库管理知识。同时,对于安装过程中出现的任何错误,都需要认真分析并作出合理处理,必要时应参考...
根据提供的文件信息,我们可以深入探讨以下几个Oracle数据库的关键知识点:删除表的不同方式及其注意事项、HAVING子句的使用、外部联接(尤其是“+”符号的意义)、SET TRANSACTION命令的应用以及一些实用的操作技巧...
在整个过程中,"安装说明"文件起到了关键的作用,它会提供详细的步骤指导、注意事项以及可能遇到的问题解决方案。仔细阅读并遵循这些说明,可以确保补丁安装过程的顺利进行。 总结起来,Oracle 11g补丁包是保持...