0

我有一个问题,很明显,因为我在这里......

我有一个源数据库(SQL Server 2008)和一个目标数据库(也是 SQL Server 2008)。需要进行一些修改,这意味着很多数据必须通过 C#(转换坐标、三角测量等)。但是你会怎么做呢?

我在这里寻找一些东西。现在我正在使用 aSqlDataReader并将数据拉入 aDataTable并使用这样的数据以便在我将其推送到目标数据库之前对其进行操作,但有什么更好(更快、内存效率更高)的方法呢? ?

此外,对于不需要操作的数据,我仍然以同样的方式将其拉过,我认为有一种方法可以避免更快的方法?

技术信息:

  • DB:2 x SQL Server 2008(源/目标) - 在同一台服务器上
  • 语言:C#/.NET 3.5
  • 操作系统:Windows
4

3 回答 3

2

我会将源数据插入到目标数据库的临时表中。

然后我会使用 SQL Merge 来更新目的地。

合并 (Transact-SQL)

我会完全最小化 c# 所扮演的角色。

于 2012-05-29T21:09:02.953 回答
0

您应该将集成服务用于 ETL 任务。

于 2012-05-29T21:25:58.617 回答
0

您可以使用SQL CLR将 .NET 代码嵌入到 sql server中,以消除数据库和机器之间的往返时间。

于 2012-05-29T21:12:25.340 回答