本人空间所有文章如没有声明转载,则均为本人原创. comsyschen@163.com

使用脚本检查DB2数据库数据

上一篇 / 下一篇  2008-02-02 15:15:18 / 个人分类:windows批处理

本人每天要检查DB2数据是否完整,特地编写了一个批处理文件来自动执行,大大减轻了工作负担。IXPUB技术博客6PT,F&s7Dzb(eJa1J
本文没有什么特别由技术含量的东西,只是希望对朋友们编写windows 下批处理文件有些参考和帮助。IXPUB技术博客a,b"k8LM6c6T8Z$M
本批处理文件使用一些比较经典的方法:包含for 循环,批处理传递参数,go语句,find语句,db2连接数据库.IXPUB技术博客y7j;z7z;EN L2Jk+c
IXPUB技术博客 X6M1S)_x(a
IXPUB技术博客X(z%\E3l/_k
d:\db2\bin\check.batIXPUB技术博客Q F l*V Q,bx

kk(g:q%d tYOK0rem 自动检查给定日期的数据是否完整IXPUB技术博客/D)@] o`*U k
rem 给定一个日期,将检查所有库当天的数据是否完整
pk|NLvEQys9?0rem 给定一个日期,程序执行一个FOR循环依次检查所有库的数据情况IXPUB技术博客 Y4o S2V*Ws1Zu
rem 并根据结果判断是否所有日志完整:IXPUB技术博客| B2mY5o([
rem 所有数据完整给出提示:数据全部正确
S N&T\Cii,[(T6F0rem 不完整,给出提示,并显示具体的查询记录,可以具体看那个库不完整IXPUB技术博客Zp o"]f7w)`v

u9V;[\+m6['r0IXPUB技术博客{|-dD!_2wRi
rem 运行本程序,需要事先在本机安装DB2 命令行客户端;以及注册相关的数据库名字
2^LCuwz0rem 本程序是在XP+DB2 8.1 客户端下通过IXPUB技术博客+q['`,pS@5Q(V
IXPUB技术博客u6Bg8UJ-A4].? JI8K
if "%1"=="" goto tishiIXPUB技术博客$_Jesrv%]{2o
IXPUB技术博客W(Oj%mi_*v*t
clsIXPUB技术博客N;Y"A L*aI
echo "自动检查%1日志入库是否完整">check.log
W | y k,s7E!H;B&W;p*i0
(G'vYKX7U.}5T&V0@ccho off
u{c1Tu#e0for %%f in (k1,k2,k3,k4,k5,k6,k7,k8 ) do call check0.bat %%f %%1
6`G$g(xj~0
gTf)R;B)}9|0@echo off
agL8X yhj6h%v0find /v "-----------" check.log >check1.logIXPUB技术博客\6}g j7I~
find /v "1 " check1.log >check.logIXPUB技术博客,rd'Vq%d/I

Ed u9Qw0echo ""
0~dRr9u)l7[!o$LFc0echo ""
%iR0D;]/bL0echo ""IXPUB技术博客4C5W*|1Ml&n8~
echo "+++++++++++++++++++检查结果+++++++++++++++++++"
"B'_Q{ q0
h;UP%w)FS*Ly0find "24" check.log /c | find "8" /c
r {U7\4|1I([0
,Zno8Q@.[2Q:NB0@echo off
"B,y.\Y [r0goto answer%errorlevel%IXPUB技术博客(b&yc j+W.s
:answer0IXPUB技术博客HXT/v[5L"Za
echo OK! 数据全部正确!IXPUB技术博客;^OPP H8__
goto end1
[ Q.h"m6U;J0IXPUB技术博客9Q8oG)c;L]
IXPUB技术博客1z+P qwwp {%_;e.m
:answer1IXPUB技术博客N [.z"p9R0w0v
echo ERROR: 数据不完全正确 具体参见check.logIXPUB技术博客4f~j2Fj
type check.log
dH;HXmttn0echo ERROR: 数据不完全正确 具体参见check.log
&}BA~V0goto end1
{/T5zY?0IXPUB技术博客 bp2mCM4q
:end1
__\C2L/P'y%J0IXPUB技术博客LpE!Z nQ3N
@echo off
`[ CLR$Q$M0goto endIXPUB技术博客 r(a/j5V5Fp LZ:}
IXPUB技术博客(MgUMp6C3I
:tishi
%tU G[4^3{3o0cls
#vb2}7wP#zrb ~"x0@echo offIXPUB技术博客N3O%odK2h
echo usage: %0 yyyy-mm-dd
x\A Shc Jh)oY0echo sample:%0 2007-05-11IXPUB技术博客-C-tJ2y7A2hm
goto endIXPUB技术博客n.e+y`aR
IXPUB技术博客(x@LuIN5ZVu

rf Q*AH0:end
VBX;Cmj0echo "+++++++++++++++++++检查结果+++++++++++++++++++"
| Wx*GUOUU0@echo on
P7Q/QF-Ot!v0
0l8g.v4eG:@o0
q4EW&_(qN0d:\db2\bin\check0.batIXPUB技术博客&{@-?y4|U
@echo off
X{-n~Eu;dc0rem 自动检查 某库 某日数据是否完整
S8kD W^]'[*Oc0rem 检查结果保存到当前目录check.log 里面
"^C\ ^ Q@&@`0rem 检查 base 是否包含指定日期的24条记录IXPUB技术博客8[j*~j~_6R
rem 如果24条记录都有,则数据完整,否则不完整IXPUB技术博客x q/eKv8}X
rem 使用方法: check0.bat 库 日期IXPUB技术博客_ s(NA"h
rem 使用例子: check0.bat k1 2007-05-01IXPUB技术博客a`.e/t%]5^%}
IXPUB技术博客e,L,@t Ry&Y+W,v
IXPUB技术博客5@,w!br2kfB5dS vr2F:f
if "%2"=="" goto tishi
9A4i` j*}&D Y4e&K0IXPUB技术博客u u"R+Y\,S

;g7c f9\9H%G0echo "===========================%1===========================">>check.log
R:j`:[x&M&h\ x.aV0db2 connect to %1 user db2 using pass
6dnIis W0db2 select count(*) from base where send like '%2%%' group by '%2' >>check.log
0`]fJ6D,n f/W0db2 connect reset
^H&[$BrH*O0goto endIXPUB技术博客lF4_;@}L\b'n
IXPUB技术博客 T[@~"LzOP)P
:tishi
.is9A I|m0
u@}gM dOAp%r0@echo offIXPUB技术博客+Y\[)QMTW#Hz8R
echo usage: %0 库 yyyy-mm-ddIXPUB技术博客 {`4T(W0qd
echo sample: %0 k1 2007-08-15IXPUB技术博客;[|y!zP \r
IXPUB技术博客FM{"N(YU zA D6z1\
:endIXPUB技术博客g Z7H-Js[s b

TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar