向丢弃和异常表中写入记录的方法_Tomcat, WebLogic及J2EE讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Tomcat, WebLogic及J2EE讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 4785 | 回复: 0   主题: 向丢弃和异常表中写入记录的方法        下一篇 
gang
注册用户
等级:上等兵
经验:142
发帖:79
精华:0
注册:2011-12-30
状态:离线
发送短消息息给gang 加好友    发送短消息息给gang 发消息
发表于: IP:您无权察看 2011-12-30 10:10:48 | [全部帖] [楼主帖] 楼主

目标:

我们怎样才能向丢弃和异常表中写入记录。

解决方案:

如果我们捕获一个违规的记录并将其抛弃,那么我们将不会执行异常映射,产品就是这样设计的。丢弃和异常是相互独立的,这是为什么如果replicat看到违规记录被执行了DISCARD操作,replicat在抛弃后不会执行后异常映射。

如果我们切换Reperror声明如下,就会发生异常,并且不会丢弃记录。

REPERROR(1403,DISCARD)
REPERROR(1403,EXCEPTION)


内部测试显示,10.4.0.34和更早版本replicat将无视reperror的命令填入记录到异常表以及丢弃的文件中,无论为了(但这并不是产品的设计方式),它工作在10.4.0.52及以上版本(可能是一些较低版本(比10.4.0.37更高)也将像这样工作))。

向丢弃文件和异常表中写记录的解决方法是写出像下面的映射。

REPERROR DEFAULT, DISCARD
.
.
.
.
ALLOWDUPTARGETMAP
MAP src, TARGET tgt;
MAP src, TARGET exceptiontable, FILTER ( @GETENV("LASTERR", "DBERRNUM") <> 0 );


上述逻辑的原理是,只要src=> TGT映射没有错误,就把源信息复制到2个表中。主要目标表是TGT,......和次要表exceptiontable。




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论