【发布时间】:2011-03-15 00:26:00
【问题描述】:
我们有一个程序,其中每个用户都有自己的 Access 数据库。我们希望将这些都合并到一个 SQL Server 数据库中。
问题在于,使用 SQL Server 导入/导出向导时,主键/外键没有得到更新。例如,如果一个用户有这个表:
1 苹果 2 香蕉另一个用户有这个:
1个椰子 2 芝士汉堡生成的表格如下所示:
1 苹果 2 香蕉 1个椰子 2 芝士汉堡同样,任何通过主键 (2) 引用 Banana 的内容现在都引用了 Banana 和 Cheeseburger,这不会让素食主义者非常高兴。
除了编写一个非常长且复杂的导入脚本之外,还有什么方法可以在导入时自动更新主/外键引用?
【问题讨论】:
-
可以用user id + current key作为主键吗?这只意味着对表格进行相当小的改动。
-
@Remou:如果可能的话,我想避免重复条目(并且必须编辑每个访问文件中的每个表)。
-
消除重复项将是第 2 阶段。您不必编辑每个表,您可以在导入时分配一个 id。
-
@Remou:这仍然需要一个自定义脚本来在导入时分配一个 ID,更不用说需要向 1000 个查询添加额外的 WHERE 条件。
-
更新是什么意思?用户 A, 1, Apple 是否与用户 B, 1, Apple 相同,甚至用户 B, 2, Apple - 如果下个月/周用户 B, 1, Apple 变成用户 B, 1, Red Apple 怎么办?
标签: sql-server ms-access import