【问题标题】:import related tables from Access into SQL Server 2008将 Access 中的相关表导入 SQL Server 2008
【发布时间】:2010-09-16 22:12:43
【问题描述】:

在 SQL Server 2008 中,我重新制作了类似于 Access 的数据库结构。我需要导入几个相关的表,但我担心外键与相关表中的自动编号字段不匹配。

【问题讨论】:

    标签: sql-server-2008 ms-access


    【解决方案1】:

    你有一些选择:

    1. 如果将表导出到 SQL Server,所有数据都会正常通过,然后您可以设置 PK 和 FK

    2. 使用 IDENTITY 列创建表结构,并使用 SET IDENTITY_INSERT 将所需的值放入 Identity 列中。

    在不了解有关您的表结构和位置的更多详细信息的情况下,我只能告诉您一般的事情,例如

    • 您必须手动匹配密钥,以便 PK-FK 引用保持不变。

    【讨论】:

    • 我认为这个问题是相当不同的。您似乎在结构上回答,就好像所涉及的数据表是空的,但我读到的问题是说数据已经存在,并且正在导入的表需要与不一定具有适当父记录的表相关在他们中。所以,我认为这是一个数据按摩问题——但我可能会误解它。
    • 你是对的 - 我错过了这一点。我编辑了我的答案以讨论这些观点。
    【解决方案2】:

    如果您需要将旧的访问 ID 与现有表中的新自动生成的 ID 匹配,这是您在从原始表中移动数据时需要执行的操作,除非您碰巧存储了访问 ID。通常我会在导入过程中使用旧 id 和新 id 进行某种类型的交叉匹配表。然后你使用这个表来匹配 realted 表来更新它们的 id。如果您没有这样做并且 id 不同,则必须先找到一种方法将它们与原始访问表匹配,然后才能导入相关表。我希望你的表在这种情况下有一个自然键。

    【讨论】:

      【解决方案3】:

      如果表相同,您可以使用名称相当冗长的“Microsoft SQL server Migration Assistant 2008 for Access”。这将允许您在保留相同密钥的同时带来数据

      【讨论】:

      • 我认为名称是“SQL Server Migration Assistant for Access v. 4.2”。如果我没记错的话,它适用于 2000 年以前的 SQL Server 版本。
      猜你喜欢
      • 1970-01-01
      • 2016-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多