问题:如何最有效地将数据从数组移动到SQL Server表中.
详细信息:我在WinForms应用程序的内存中创建了一个包含许多行(通常约为100,000)和许多列(约40个)的数组.我需要以尽可能最快的方式将此数组放入相应的SQL Server表中.现在,我正在创建一个SqlCommand对象,循环遍历我的数组中的100,000行,并为每一行分配命令对象的40个参数,然后调用ExecuteCommand.它有效,但速度很慢,肯定不是最有效的方法.我应该将数组中的所有数据放入DataTable,然后以某种方式一次性发送数据表(我不知道该怎么做)?还是其他一些技巧?写出一个文件并使用bcp(似乎不会更快,我没有尝试过).任何建议赞赏!
SqlBulkCopy.如果你可以将内存存储在内存中会更好,DataTable
因为该WriteToServer()
方法的一个重载需要一个.
编辑:这是一个如何使用API 的示例.