我可以使用DataTables将数据从一个数据库导入另一个数据库吗?

时间:2009-12-23 08:26:49

标签: c# .net sql-server database data-migration

我需要创建一个快速而肮脏的解决方案,将数据从数据库迁移到另一个数据库。这只是用于概念验证。从长远来看,我们将使用.NET的Sync Framework。

数据库完全相同。该解决方案将用作OCA(偶尔连接的应用程序)。

  • 我读了一些他们想从某些XML迁移的表。
  • 禁用每个表的目标上的所有约束。
  • 对于他们想要从中迁移数据的每个表,我从源创建一个DataTable。
  • 创建指向目标的DataTable。
  • 将源中的所有行导入目标并插入
  • 再次启用目标表的所有约束。

我不确定上述是否可行。我有大部分工作,我正在克隆源DataTable。然后我遇到了克隆的DataTable没有指向任何地方的问题。

  • 我可以将其指向目标然后插入吗?
  • 有更好的方法吗?
  • 另一种方法是创建INSERT INTO语句,使用元数据来标识标识列,而不是将它们包含在列名中。

3 个答案:

答案 0 :(得分:3)

你提出的建议应该有效。但是你可能会发现使用SqlBulkCopy类更容易(并且你肯定会看到更好的性能)。

(这是一个以代码为中心的解决方案)

答案 1 :(得分:1)

简答:您可以加载DataTable并使用其他DataAdapter将其保存到其他数据库中。

但是,对于无代码方法,您可以将SQL Server Database Publishing Toolkit用作stated here

答案 2 :(得分:1)

您可以使用Sql Server Import and Export Wizard(dtswizard.exe)。 它创建一个Integration Services包,然后您可以随时保存和执行它。