U**G项目数据同步问题

6 篇文章 0 订阅

最近项目中,需要使用到数据同步这个功能,客户老系统使用的是Acces2003数据库,现在需要把里面的所有数据都导入的到MSSQL2005中来。新的客户端需要这个功能,点击同步按钮以后,就需要把Access里面做的数据新增、修改和删除都全部反应到MSSQL2005数据库里面来。之前考虑了很多种方案,但是都最终否决掉了。

 

现在采用的是每次同步,分段同步,每个表为一个段,同步表的时候,先清除掉这表里面的所有数据,再插入Access里面最新的数据,但是,但是Access数据库里面的表数据有的可以到达200W。

 

现出现问题:

1、有个表出现了100W条数据,但是只有两个字段,全部读到DataSet里面的话,可能要读上好几秒甚至上10秒以上,插入的时候出现过很大的问题,常规插入需要10多分钟,经过查资料,使用了System.Data.SqlClient.SqlBulkCopy这个类,进行操作,结果几秒钟插入成功,问题暂时解决,可能会出现问题2出现的问题,暂时没发现。

 

2、有个表出现了8W数据,虽说没有上个表的数据量庞大,但是,字段却比较多,这个表,我在读到DataSet里面的时候,出现假死了,怎么都没有反应,这个问题暂时还没有解决,本来考虑的使用表数据量到达一定的数量,分段进行插入,但是问题有出现了,客户Access有的表里面没有主键,分段查询的话,性能很低,这个问题暂时都还没解决。

 

上面问题总结,主要可能现在的问题,出现在大数据量读入到DataSet中的问题,Access没有主键分页查询的问题。

 

PS:开始一直都没有考虑先删除再插入的数据这种方案,不过,暂时没想到好的了,字段做比较的话,很纠结。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值