数据从一个数据库传输到另一个

时间:2013-10-08 15:50:35

标签: c# .net winforms c#-3.0

我正在寻找一个想法或一些方向。我必须将数据从一个数据库传输到另一个数据库,这两个数据库在结构和模式方面相同

它是一个完整的数据库,可能包含70个表,并且在不同级别的表之间具有关系。即使我在数据库中移动时我会弄乱身份但是到目前为止我还好。

我认为想法是将所有表中的所需数据加载到XML中,然后创建与第二个数据库的连接,并从这个XML推送数据,这是一种重复的,而不是最好的方式。所以寻找方向。

我能以某种方式使用实体框架吗?

我不能使用SSIS,因为它必须是C#抱歉。

2 个答案:

答案 0 :(得分:1)

您可以按照问题的评论中的说明创建链接服务器。您似乎表明您知道如何执行此操作,但如果没有,您可以通过向下钻取到源数据库服务器上源数据库下的“服务器对象>链接服务器”,然后向右,从SQL Server Management Studio执行此操作。单击“新建链接服务器”等

然后你可以使用这样的语句,例如,来自你的C#代码:

insert into DestServer.DBName.dbo.TableName
select * from SourceServer.DBName.dbo.TableName

假设您已连接到“SourceServer”并且“SourceServer”维护一个指向“DestServer”的链接服务器对象。注意:您实际上不需要在'SourceServer'上使用表的完全限定名称,但为了清楚起见,我已将其放在那里。 I.E.你也可以这样做:

insert into DestServer.DBName.dbo.TableName
select * from TableName

不要忘记在链接服务器对象中正确设置权限,以便查询可以写入目标服务器中的表。你可以通过多种方式做到这一点,而且经常(因为我在一个只有我和其他人维护的小环境中工作)我只是使用“sa”登录:

enter image description here

答案 1 :(得分:1)

是的,可以在.NET中使用链接服务器 您只需使用4部分名称 您可以在.NET SQL命令中使用SSMS在TSQL中执行的操作。

我的经验是,您可以在连接到正在写入的服务器上获得更好的性能。