我正在使用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。
提前感谢。
如果有
您可以使用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。