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



我正在使用ExcelDataReader从Excel表格导入3000行数据。

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

问题:

1。如何将我的数据表与SQL Server表的表模式进行比较

2。是否可以在插入前验证FK约束和PK重复

3。如果我有一些像这样的表,SponsorID列与FK到同一表

ID - Name - Age - Relation - Column4 - SponsorID

100 - Adam michael - 32 - self - 1/1/2015 - 100

101 - Anna Mike - 29 -妻子- 1/1/2015 - 100

100 - Sarah Adam - 6 - Daughter - 1/1/2015 - 100

是否有这样的插入使用SqlBulkCopy。

提前感谢。

如果有

的话我很乐意听到其他类似的插入方法
  1. 您可以使用SQL语言查询excel文件并进行比较。请看下面的例子:

    SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',"Excel 8.0;数据库= C: excel-sql-server.xls",[Sheet1 $])

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

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

  • 你可以创建一个列OldID,在excel中显示id。然后使用OldID引用用新ID更新赞助商ID。

  • 最新更新