将数据从 Excel 导入 SQL Server 时如何处理外键

问题描述 投票:0回答:3

我的 Excel 工作表中有原始数据。我在 SQL Server 中开发了一个具有外键约束的数据库,现在我想将数据从 Excel 工作表导入到我的 SQL Server 数据库(具有多个具有外键约束的表)。

请指导我在将数据导入数据库时如何处理外键?我是 SQL Server 数据库新手,任何教程链接都会有帮助。

提前致谢。

sql-server import foreign-keys sql-import-wizard
3个回答
1
投票

您不能依赖使用 Excel 导出的数据。我建议您遵循以下方法。

  1. 将数据转储到中间表中,没有任何约束。

  2. 在移动到主表之前验证数据。为此,您可以使用

    where exists
    子句来检查数据是否存在于外键表中。

  3. 验证失败的记录,您可以将其报告给用户。


0
投票

如果您可以使用 SQL Server Integration Services,查找转换将为您完成这项工作。这是一个例子: http://www.learnmsbitutorials.net/ssis-lookup-transformation-example.php

我们还提供 Excel 插件,用于从 Excel 导入和更新 SQL Server 中的数据。 它可以在 Excel 中为外键关系创建下拉列表。然后,用户将在 Excel 中选择一个文本项(从外键表中获取),相应的键值将被插入到 SQL Server 中的表中。 更多详细信息请访问:https://sqlspreads.com


0
投票

使用 SSIS 导入向导非常简单且可靠,我用复杂的模式做了很多次。

  • 确保您的 PK 列定义为 IDENTITY,以便每次导入记录时它可以递增 1,然后确保其他表中的所有 FK 列也是 IDENTITY 并与 PK 存在关系。

  • 构建导入 Excel 工作簿,每个表一张工作表,并使用数据库表中的列名称;确保单元格的格式与数据库列的数据类型匹配

  • 运行导入向导,选择 Excel 作为源,选择 SQL Server 的 OLE DB 提供程序作为目标,将每个工作表映射到其数据库表,然后运行导入。

如果架构/设置制作精良,它每次都会完美运行。

© www.soinside.com 2019 - 2024. All rights reserved.