【发布时间】:2012-05-29 21:00:35
【问题描述】:
我有一个问题,很明显,因为我在这里......
我有一个源数据库(SQL Server 2008)和一个目标数据库(也是 SQL Server 2008)。需要进行一些修改,这意味着很多数据必须通过 C#(转换坐标、三角测量等)。但是你会怎么做呢?
我在这里寻找一些东西。现在我正在使用SqlDataReader 并将数据拉入DataTable 并使用类似的数据以便在我将其推送到目标数据库之前对其进行操作,但是什么会更好(更快和更多内存高效)的方式?
另外,对于不需要操作的数据,我仍然以同样的方式处理它,我认为有一种方法可以避免更快?
技术信息:
- 数据库:2 x SQL Server 2008(源/目标)- 在同一台服务器上
- 语言:C#/.NET 3.5
- 操作系统:Windows
【问题讨论】:
-
如果您只是一次读取和写入一条记录,那么数据表似乎有点重量级,除非您将其用作缓冲区。
-
每条记录的数据转换是确定性的,还是一条记录的更改会影响其他记录?
-
你能用SQLCLR在数据库本身做处理吗? msdn.microsoft.com/en-us/library/ms131045.aspx
-
Robert - 目前没有将其用作缓冲区,因为没有必要,但据我所知,它可能需要处理超过 100 行轧机,因此我将其放置到位我可以将它用作缓冲区..
-
Mathew - 我不是 100% 确定你的意思。基本上,我从一个表中获取记录,将其与另一个表中的记录匹配,然后将它们放在一个包含额外信息的新表中。这是一种 hacky 的连接方式,因为在这种情况下连接不起作用(除非你告诉我它会!)。一旦记录配对,它就不能再次与不同的记录配对,我猜它们会相互影响......
标签: c# sql sql-server datatable synchronization