0

所以我有一些包含大量数据的表。假设它们是表 A、B 和 C。我想为这些表中的每一个添加自动增量 ID 字段,通过在表之间交换一些字段来规范化它们并添加一个额外的表 D。Gulp。有三个目标:1)重新设计数据库,重新加载现有数据。2) 启用从电子表格加载数据以添加/编辑/删除四个表。3)启用Web前端添加/编辑/删除四个表。

我目前的做法:

  • 我想我会将 3 个现有表中所有数据的平面文件导出到 csv(电子表格)中。
  • 然后重构数据库设计结构
  • 然后使用 linq to excel 将 csv 电子表格记录读回 dto 对象
  • 然后使用实体框架将那些 dto 对象转换为实体,以使用表之间的适当关系更新数据库
  • 电子表格将重新用于未来的批量数据添加/编辑/删除

下面这些工具呢?SSIS 批量插入存储过程

我是否过于复杂了?有没有更好的办法?

4

1 回答 1

1

您对“大量数据”的定义是什么?对于某些人来说是 10,000 行,对于其他人来说是数十亿行。

我认为一些存储过程应该能够做到这一点,主要由简单的 INSERT..SELECT 语句组成。用于sp_rename重命名现有表,创建新表,然后移动数据。

如果您已经必须开发一个批量导入过程,那么通过导出来重用它可能是有意义的,但我不会仅为这种情况创建整个过程。

在某些情况下,这种方法可能不是最好的,但我在您的问题中没有看到任何让我认为这会成为问题的东西。

当然,首先要确保你有一个好的备份。

于 2011-05-20T19:02:05.533 回答