批量插入百万条记录到SqlServer我有一个Windows服务应用程序,它接收一个数据流,格式如下IDX|20120512|075659|00000002|3|AALI|AstraAgroLestariTbk。|0|ORDI_PREOPEN|12|00000001550.00|00000001291.67|00001574745000|00001574745000|00500|XDS1BXO1||00001574745000|?§IDX|20120512|075659|00000022|3|ALMI|AlumindoLightMetalIndustryTbk.|0|ORDI|33|00000001300.00|00000001300.00|00000308000000|00000308000000|00500|--U3---2|Sequence解析它们并将它们插入到数据库表中。我的问题是,将这些数据插入我的数据库的最佳(最有效)方法是什么?我正在尝试使用一种简单的方法打开SqlConnection对象,然后生成SQL插入脚本字符串,然后使用SqlCommand对象执行该脚本,但这种方法花费的时间太长。我读过我可以使用SqlBULKINSERT但它必须从文本文件中读取,是否可以在这种情况下使用BULKINSERT?(我以前从未使用过它)。谢谢更新:我知道SqlBulkCopy,但它要求我首先使用DataTable,这对性能有好处吗?如果可能,我想直接从我的数据源插入到SQLServer而不必使用内存中的数据表。如果您使用C#编写,则可能需要查看SqlBulkCopy类。允许您使用其他来源的数据高效地批量加载SQLServer表。首先,免费下载LumenWorks.Framework.IO.Csv库。其次,使用像这样的代码StreamReadersr=newTextReader(yourStream);varsbc=newSqlBulkCopy(connectionString);sbc.WriteToServer(新的LumenWorks.Framework.IO.Csv.CsvReader(sr));是的,这真的很容易。您可以使用SSIS“SQLServerIntegrationServices”将数据从源数据流转换为远程数据流。源可以是文本文件,目标可以是SQLServer表文件。并以批量插入模式转换执行。以上就是C#学习教程:批量插入百万条记录到SqlServer的全部内容,分享给大家。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
