关于c#:将txt,csv文件中的大量数据插入到SQL Server表中,其中包含无效行很少

Insert large size of data from txt, csv file to SQL Server table with few invalid rows

我需要将数据文件中的数据插入SQL Server表中。数据文件可能包含数千行,但文件中的某些行可能有误(例如BIRTH_DATE列值格式错误或字符串不能转换为int)。我可能会使用批量插入功能,但是由于文件中的某些行无效,因此由于无效行很少,因此不会插入任何行。我想忽略错误的行,理想情况下是获取每个无效行的行号。我想以最高的性能来做。有什么想法吗?

预先感谢

-石油


我通常以以下两种方式之一处理这种情况:

  • 将数据批量复制到临时表中。临时表可能是所有VARCHAR列,也可能是每一行的一个长VARCHAR列,具体取决于数据的格式和质量。将其放入登台表后,我便可以进行检查并提取出有问题的任何行,以供以后人工干预。

  • SSIS包含了很好的工具来重定向有错误的行。请在线查阅MSDN中的相应文档,如果有任何特定问题,可以在此处创建一个新问题,我相信有人可以帮助您解决该问题。