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