最近在做Oracle Form WEBADI的数据导入。在项目中遇到一个很辣手的问题:如果第一次数据导入失败,在客户化临时表中就会存留上次正确导入的数据,在进行第二次导入的时候会遇到数据重复的问题,笔者当时处理的方式就删除重复的数据,但是这种方式带来的一个潜在的威胁就是:如果在excel中存在重复的数据系统将不报告任何的错误。用一个图例说明如下:

经过苦思冥想,笔者终于找到一个比较统一的解决方法:
为每个记录都添加一个标志flag代表数据的状态,例如标志可以取值1:代表第一次导入;可以去2:代表历史数据。这样每次出现错误数据的时候程序就会修改客户化临时表中的flag将其给成2,每次启动webadi时候就可以通过session_id和flag历史数据和当前数据的标志进行重复数据的删除。图例如下:

本文探讨了Oracle Form WebADI在数据导入过程中遇到的重复数据问题,并提出了一种通过添加标识符flag来区分不同批次数据的方法,以此解决数据重复问题。
2680

被折叠的 条评论
为什么被折叠?



