如何在使用 SqlBulkCopy 插入数据表之前验证数据表的数据

How Can i Validate datatable's Data before inserting it using SqlBulkCopy

我正在使用 ExcelDataReader 从 Excel Sheet 导入 3000 行到 Datatable。

如何在使用 SqlBulkCopy.Writetoserver() 将这些行插入数据库之前验证这些行。

问题:

1. 如何将我的数据table 与 SQL 服务器 Table 之一的 Table 方案进行比较s.

2. 我可以在插入前验证 FK 约束和 PK 重复

3. 如果我有一些像这样的 table 与 FK 相同的 SponsorID 列 Table

ID - 姓名 - 年龄 - 关系 - Column4 - SponsorID

100 - Adam Michale - 32 - 他自己 - 2015 年 1 月 1 日 - 100

101 - 安娜迈克 - 29 - 妻子 - 1/1/2015 - 100

102 - Sarah Adam - 6 - 女儿 - 1/1/2015 - 100

是否可以使用 SqlBulkCopy 进行此类插入。

在此先感谢。

如果有任何其他类似的插入方法,我将非常高兴

  1. 您可以查询您的 excel 文件并使用 SQL 语言进行比较。请参见下面的示例:

    SELECT * 来自 OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=C:\excel-sql-server.xls', [Sheet1$])

在此 link 上查找有关分布式查询的更多选项。

  1. 您可以在sql数据上查询您已有的数据,并将其与excel进行比较,以验证PK/entry重复。

  2. 您可以创建一个列 OldID,其 ID 出现在 excel 上。然后使用 OldID 参考用新 ID 更新发起人 ID。