欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

db2 数据库 表同步,该如何处理

更新时间: 2014-01-05 02:23:05 责任编辑: Author_N1

 

db2 数据库 表同步
我们要对db2数据库中 一些表进行同步处理
有什么好的方案  请赐教?
--参考方法--
用数据库联邦,写存储过程,定时执行存储过程就可以搞定
--参考方法--
db2 CONNECT TO JXDWDB2 USER administrator using ffcs1234
db2 DELETE FROM MK_FACT.D_RPT_JTJH_DETAIL
db2 DECLARE C1 CURSOR DATABASE JXDWDB USER ffcsdb2 using ffcsdb2ffcs FOR SELECT * FROM MK_FACT.D_RPT_JTJH_DETAIL
db2 LOAD FROM C1 OF CURSOR MESSAGES C:\load_sales_2.msg INSERT INTO MK_FACT.D_RPT_JTJH_DETAIL NONRECOVERABLE
db2 TERMINATE;
--参考方法--
新建一个表,保存你要同步的表的名称

写批处理文件

根据表名称拼写export语句和load语句

完成。
--参考方法--
同一个目录下,建立两个bat比如A.BAT B.BAT,
A.BAT:
db2cw call B.bat

B.BAT
只写主要的
1.先连接源数据库:
::拼写'EXPORT'语句'%PATH%'是你自己定义的路径
DB2 "SELECT 'EXPORT TO ''%PATH%\' 
--参考方法--
 tbname 
--参考方法--
 '.DEL'' OF DEL SELECT * FROM '
--参考方法--
 tbname 
--参考方法--
 ';' AS exp_tb FROM 临时表" 
--参考方法--
 findstr "EXPORT" >.\Code\EXP.sql

上面意思是放到sql文件里面,然后通过db2cmd来执行:
db2 -td; -f .\Code\EXPORTTBS.sql


完了后连接目标数据库,同样是使用这样的方式,load进
DB2 "SELECT 'LOAD CLIENT FROM ''%PATH%\'
--参考方法--
 TBNAME 
--参考方法--
'.DEL'' OF DEL REPLACE INTO '
--参考方法--
 TBNAME 
--参考方法--
' NONRECOVERABLE;' FROM 临时表" 
--参考方法--
 findstr "LOAD" >.\Code\LOADTBS.sql
db2 -td; -f .\Code\EXPORTTBS.sql

简单写了一下,不太清晰,私聊再大家研究下
--参考方法--
方法太多了,要是你的情况和同步的频率,以及同步的数据量这些东西来综合考虑,方法很多,我们要选择最优的
--参考方法--
用nickname是不是可以实现。
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:23:05
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/9150/
本文WWW.DOC100.NET DOC100.NET版权所有。