首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用C#在不同网络数据库之间批量复制更新和新插入的数据

问使用C#在不同网络数据库之间批量复制更新和新插入的数据
EN

Stack Overflow用户
提问于 2011-01-09 22:50:19
回答 1查看 407关注 0票数 0

这是我的第一篇文章..我有两个SQL Server数据库位于不同的服务器上。

假设从源数据库SDB到数据库DDB的DDT (目标数据表)的源数据表的SDT

我正在使用C#进行从SDT到DDT的批量复制。

我的代码是这样的:

代码语言:javascript
复制
sqlcommand = "Delete * from DDT where locID = @LocIDParam" // @LocIDParam is the parameter for a specific location // 
then bulk copy "Select * from SDT where locID = @LocIDParam" // the steps are well known.. 

我只是不想去找无用的细节。

但是,我的SDT有一个巨大的数据,因此它导致大容量复制整个表的流量很高

是否可以将仅更新的记录从SDT批量复制到DDT,以及插入新记录?

对于这种情况,您认为对更新的和新插入的数据使用SQL触发器是最好的想法吗?(触发器将主键值插入到新的和更新的单个列表中,然后基于此删除和插入from/to DDT )

PS。我不想使用SQL复制,因为它有很多问题。

提前谢谢你

EN

回答 1

Stack Overflow用户

发布于 2011-04-29 05:01:53

从那一天起,我想你已经找到了你的解决方案。如果不是,下面是我们如何处理类似情况的方法。

在源表上,我们有一列显示数据是否必须发送到目标。我们使用布尔值,但您也可以有一个显示上次更新日期的日期时间字段。

然后,我们的pull过程将执行以下操作:

  1. 拉取目标服务器上临时表中的所有标记数据
  2. 更新两个表中存在的记录
  3. 插入目标表中不存在的临时表中的所有记录
  4. 删除临时表

如果你使用SQL2008,有一个我不知道的合并选项。这里有一个解释它的链接:SQL 208 MERGE command

如果你仍然需要的话,希望这会对你有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4639794

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档