1

I am looking for an idea or some direction. I have to transfer data from one database to another both are structurally and schema wise same.

Its a complete database with maybe 70 tables and having relationship between tables at different levels. Even though i ' m going to mess up the identity when i move across database but as of now i am ok with it.

Idea which i thought was to load required data from all table into an XML and then create connection to second database and push data from this XML its kind of repeated and not best way at all. So looking for direction.

Can i use entity framework for this somehow??

I cannot use SSIS for this it has to be C# Sorry.

4

2 回答 2

1

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

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

于 2013-10-08T16:45:37.887 回答
1

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

然后,您将使用这样的语句,例如,在您的 C# 代码中:

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

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

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

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

在此处输入图像描述

于 2013-10-08T16:28:29.217 回答