0

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

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

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

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

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

3 回答 3

3

你提议的应该可行。但是您可能会发现使用SqlBulkCopy类更容易(而且您肯定会看到更好的性能) 。

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

于 2009-12-23T08:42:36.153 回答
1

您可以使用Sql Server 导入和导出向导(dtswizard.exe)。它会创建一个集成服务包,然后您可以随时保存和执行该包。

于 2009-12-23T08:41:47.417 回答
1

简短回答:您可以DataTable使用不同的DataAdapter.

但是,对于无代码方法,您可以使用此处所述SQL Server 数据库发布工具包

于 2009-12-23T08:35:22.410 回答