问题描述
C#下SQLserver数据与Oracle数据对比,如果Oracle中没有的则新增过去。具体怎么实现呢?用哪些控件和方法效率比较高呢?
解决方案
解决方案二:
Oracle和SQLServer做差量同步,应该有这种软件能实现,实际使用中可能写程序同步比较靠谱1、在Oracle要同步的表创建触发器,把对表记录的操作(增、删、改)按主键记录到一张表里面2、筛选这张表的记录(比如一条主键是123的记录,对某一个字段做了三次修改,触发器在中间表产生三条记录,这里要筛选出最后一条记录,最后一条修改的值才是我们要同步过去的,省去中间过程),去SQLSERVER相应表做增、删、改操作
解决方案三:
引用1楼西门吹灯的回复:
Oracle和SQLServer做差量同步,应该有这种软件能实现,实际使用中可能写程序同步比较靠谱1、在Oracle要同步的表创建触发器,把对表记录的操作(增、删、改)按主键记录到一张表里面2、筛选这张表的记录(比如一条主键是123的记录,对某一个字段做了三次修改,触发器在中间表产生三条记录,这里要筛选出最后一条记录,最后一条修改的值才是我们要同步过去的,省去中间过程),去SQLSERVER相应表做增、删、改操作
是的,现在我就是想用C#写个同步应用程序,两边的数据都读取到dt控件中了,但不知如何去对比,然后更新到Oracle中去。
解决方案四:
你的应用系统,当些数据到SQLServer时,应该(异步地)写Oracle数据库。这不但是是最简单的(仅仅需要多写2、3行语句,而且调用ServerServer的DbHelper跟调用Oracle的DbHelper,代码几乎是一模一样地copy而已),也能保证及时性。纯数据库方面的操作,应该用来进行批量处理,偶尔进行一次。而不要滥用它。
解决方案五:
都读取到dt控件中了那么你可以将SQLserver得到的数据Union到Oracle得到的数据后面扣除Oracle原来的记录就是多出的,需要给Oracle新增的了
时间: 2024-08-02 13:54:25