我正在寻找一个想法或一些方向。我必须将数据从一个数据库传输到另一个数据库,这两个数据库在结构和模式方面相同
它是一个完整的数据库,可能包含70个表,并且在不同级别的表之间具有关系。即使我在数据库中移动时我会弄乱身份但是到目前为止我还好。
我认为想法是将所有表中的所需数据加载到XML中,然后创建与第二个数据库的连接,并从这个XML推送数据,这是一种重复的,而不是最好的方式。所以寻找方向。
我能以某种方式使用实体框架吗?
我不能使用SSIS,因为它必须是C#抱歉。
答案 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”登录:
答案 1 :(得分:1)
是的,可以在.NET中使用链接服务器 您只需使用4部分名称 您可以在.NET SQL命令中使用SSMS在TSQL中执行的操作。
我的经验是,您可以在连接到正在写入的服务器上获得更好的性能。