我正在使用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进行此类插入。
提前致谢。
如果有任何
,我会非常乐意听到有关此类插入的其他方法答案 0 :(得分:0)
您可以查询excel文件并使用SQL语言进行比较。见下面的例子:
SELECT * FROM OPENROWSET(' Microsoft.Jet.OLEDB.4.0', ' Excel 8.0;数据库= C:\ excel-sql-server.xls',[Sheet1 $])
在此prefetch_related上查找有关分布式查询的更多选项。
您可以查询已有的sql数据数据,并将其与excel进行比较,以验证PK /条目重复。
您可以创建一个OldID列,其中包含excel上的ID。然后使用OldID引用使用新ID更新赞助商ID。