从两个不同的数据库表更新对象

时间:2012-03-14 18:49:50

标签: c# sql

我在不同服务器上的两个不同SQL Server数据库中有两个表。每个表具有相同的行数(每个~65000),并且它们通过共同的ID列相关联。我创建了一个对象,它具有从这两个表中读取和更新的属性。

我从第一个表中读取所有项目并创建我的对象的实例,然后更新它的属性。然后我将它添加到List中。完成此操作后,我从第二个表中读取以更新对象的剩余属性。

最好的方法是什么?你有什么建议吗?此时我遍历我的List并为列表中的每个对象从第二个服务器获取数据。当然这耗费时间(约15分钟)。

例如,是否可以在其中一台服务器上创建临时表?我消耗的时间是在我的循环中。从这两台服务器检索数据所花费的时间对我来说没问题。

2 个答案:

答案 0 :(得分:1)

解决方案是创建链接服务器:

http://msdn.microsoft.com/en-us/library/ms188279.aspx

使用此方法,您可以从不同的服务器引用数据库,就像它位于同一服务器上一样。这应该允许您进行连接以完成数据集。

答案 1 :(得分:0)

最好的方法是使用sp_addlinkedserver将其中一个服务器添加为链接服务器,然后您可以针对其中一个服务器运行查询(通过公共字段连接两个表)并一次性获取所有内容。