这是最好的时代,这是最坏的时代,这是智慧的时代,这是愚蠢的时代;这是信仰的时期,这是怀疑的时期;这是光明的季节,这是黑暗的季节;这是希望之春,这是失望之冬;人们面前有着各样事物,人们面前一无所有;人们正在直登天堂;人们正在直下地狱。
我也要与时俱进了,被itpub2.0牵着尾巴,拼命的奔跑,不停的灌水...
关于数据增量抽取的模拟实现——脚本实现
上一篇 /
下一篇 2008-02-14 22:07:51
/ 个人分类:数据仓库专区
本文主要是针对关于数据增量抽取的模拟实现——原理进行实现的
实现的环境:
业务数据库:Oracle9i
数据仓库数据库:SQLServer2000
(C;?-i"O$F*\!R01、前提SQLServer服务器已经安装Oracle驱动,不再详细累述ITPUB个人空间orT5~G0IU
2、创建链接数据库
eDOw-n.y0打开企业管理器->安全性-链接服务器-右键新建ITPUB个人空间 gSP7KK)vq

p5q|-Q*V&{0通常情况当链接数据库创建好,进行打开的时候都会弹出一下错误窗口:ITPUB个人空间/HZ#b8u#\$Z]:Ajf
.p)nyO$VBwI1g0一般情况下运行C:Program FilesCommon FilesSystemOle DBmtxoci81_win2k.reg该文件后,重启SQLServer数据库,再重新连接;
&}+`S4G!gc.@0如果仍有问题,重启操作系统,即可OK。ITPUB个人空间%tg*_#ZJ'qP'e
3、创建Oracle环境脚本ITPUB个人空间"v8P7z4~5V8V+P
--创建Oracle业务系统表结构 CREATE TABLE SourceTableITPUB个人空间m
A$mM+c}/g|6Dx%~ ( )yGe2D,k`:[kQ0ID1 VARCHAR2(50), v:\
q7`S;K%`7r{0ID2 VARCHAR2(50), t(yv#x'GX0Measure1 INTEGER, M'}R.{d\0Measure2 INTEGER,ITPUB个人空间S6DXG1b-q CloseDate DATEITPUB个人空间h _.~&MwuOD2] ) --创建测试数据 DECLARE -- Local variables here d!c/l8GX n
\Y@g0i INTEGER; BEGIN -- Test statements here FOR i IN 1..365 LOOP INSERT INTO SourceTableITPUB个人空间2d1Mq;?Ca!A#V3H VALUES(i,i,i,i,TO_DATE('2006-01-01','yyyy-mm-dd')+i); 1xraNbt0j(A0INSERT INTO SourceTableITPUB个人空间k#q.Q+g1z/p3G VALUES(i,i,i,i,TO_DATE('2006-01-01 12:00:00','yyyy-mm-dd hh24:mi:ss')+i); ENDLOOP 4}!h]'O!Dfu]8M(p0COMMIT; END; |
Z~h^,X4Z;Jd04、创建SQLServer数据仓库环境脚本ITPUB个人空间KA2|,p;vS7S1J
--创建系统参数表内 CREATE TABLE ExtractTaskList (ITPUB个人空间 F6\~2T~@)V/Kh TaskName VARCHAR(32) , !SV]QO,B0TargetTable VARCHAR(32) , v` VR$y|q0TargetFieldList VARCHAR(500) ,ITPUB个人空间 AB!mg1V4}(xe SourceTable VARCHAR(32) , U)E#^7K}9R,Dv0SourceFieldList VARCHAR(500) ,ITPUB个人空间v ?L#^k,\Ta`,E2} WhereFieldName VARCHAR(32) , @?-_|H0IncType INT,ITPUB个人空间G^qFVMP;d8U TransType INT, L"V\*g1s/GI0TargetDate DATETIME, IgD@'G~M Q3~0SourceDate DATETIME,
|