从数组中获取数据到SQLServer数据库的最快方法?

Rob*_*b3C 3 .net sql-server

问题:如何最有效地将数据从数组移动到SQL Server表中.

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

Rob*_*rth 5

SqlBulkCopy.如果你可以将内存存储在内存中会更好,DataTable因为该WriteToServer()方法的一个重载需要一个.

编辑:这是一个如何使用API 的示例.