日期:2014-05-17  浏览次数:20689 次

请教一下数据添加的问题
这是一个数据传输的问题,就是我把远程传输的数据插入数据库中,有一种情况就是假如远程端出现错误或崩溃的话,可能已经传了一部分数据存入库了,现在远程端重新传,问题是怎么判断数据库中的数据哪些是刚才传的,哪些是以前传的,我是要把刚才传的都覆盖掉,还是接着继续传,有一个问题是,主键是在远程端随机生成的,无法用主键判断是否重复,求大侠给支个招

------解决方案--------------------
之前的回滚,重头开始传
可不可以?
------解决方案--------------------
根据redo log file日志文件 回滚到今天之前的数据点。
------解决方案--------------------
想数据安全就老实回滚吧..

除非你能在数据库表字段设置一个唯一的标识。
------解决方案--------------------
我这边的做法是:把需要上传的数据每5000行(不足5000行也算)做成一个TXT文件,打包上传,只要包能解压缩,就不太可能丢数据。
1、TXT文件在本机做,不会丢数据。
2、压缩包能正确解压缩,也不会丢数据。出错的压缩包重传就是了。
3、客户端只要下载压缩包,压包,INSERT就行了。每个文件做一个事务

------解决方案--------------------
探讨

我关键是觉得可能回滚不太人性化,假如上次传了99%了,在回滚的话是不是不太好?