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

时间:2015-06-01 22:36:58

标签: c# asp.net sql-server datatable sqlbulkcopy

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

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

问题:

1。如何将我的数据表与其中一个SQL Server表的TableScheme进行比较。

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

3。如果我有一些像这样的表,赞助商ID列与FK到同一张表

ID - 名称 - 年龄 - 关系 - 第4列 - SponsorID

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

101 - Anna Mike - 29 - 妻子 - 2015年1月1日 - 100

102 - Sarah Adam - 6 - 女儿 - 2015年1月1日 - 100

无论如何

使用SqlBulkCopy进行此类插入。

提前致谢。

如果有任何

,我会非常乐意听到有关此类插入的其他方法

1 个答案:

答案 0 :(得分:0)

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

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

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

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

    2. 您可以创建一个OldID列,其中包含excel上的ID。然后使用OldID引用使用新ID更新赞助商ID。