log4j 记录日志放在oracle中
一个db类 类似于jdbc的驱动和链接配置
package com.assi;
import org.apache.log4j.jdbc.JDBCAppender;
public class DB extends JDBCAppender {
public DB(){
this.setDriver("oracle.jdbc.driver.OracleDriver");
this.setURL("jdbc:oracle:thin:@172.18.220.10:1521:orcl");
this.setUser("log");
this.setPassword("log");
}
}
具体写日志的类 //没有注释 代码比较简单
package com.assi;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
public class CataLogs extends DB {
private DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");
private Logger logger;
public CataLogs(){
logger=Logger.getLogger(CataLogs.class.getName());
}
//自动执行的
protected void execute(String sql){
Connection con=null;
PreparedStatement stmt=null;
try{
con=getConnection();
stmt=con.prepareStatement(this.getSql());
stmt.execute();
}
catch(Exception e){
e.printStackTrace();
&
相关文档:
刚才在逛一个网友的博客的时候发现了一篇关于REDO、UNDO、COMMIT、ROLLBAKC的文章。虽然内容可能不是特别全面,可是还是总结的挺好的,转过来方便将来学习。
==================================================================================
redo--> undo-->datafile
insert一条记录时,表跟undo的信息都会 ......
包由包规范和包体两部分组成。
1、包规范(Package Specification)
包规范,也叫做包头,包含了有关包的内容的信息。但是,它不包含任何过程的代码。
创建包头的语法一般如下
CREATE [OR REPLACE] PACKAGE package_name {IS | AS}
Procedure_name | function_name | variable_declaration | type_def ......
ROLLUP和CUBE语句。
Oracle的GROUP
BY语句除了最基本的语法外,还支持ROLLUP和CUBE语句。如果是ROLLUP(A, B, C)的话,首先会对(A、B、C)进行GROUP
BY,然后对(A、B)进行GROUP BY,然后是(A)进行GROUP BY,最后对全表进行GROUP BY操作。如果是GROUP BY
CUBE(A, B, C),则首先会对(A、B、C)进行GROUP
BY,然后依次是( ......
drop table tb_wjf_xh_dg100_50_tmp4 purge;
create table tb_wjf_xh_dg100_50_tmp4
(
servnumber varchar(11)
)
;
declare
vv_cusor_servnumber varchar2(32);
vv_cusor_lost_cnt & ......