将数据从DataTable插入SQL Server数据库表的最简单,最有效的方法是什么?对于它的价值,DataTable和数据库表具有匹配的列。
我正在做的是将数据从一个数据库传输到另一个数据库(单独的实例,因此我将使用我的应用程序作为数据的中间“接收器/发送器”)。我可以使用源数据库表中的SqlDataAdapater.Fill()调用轻松填充DataTable。但我正在尝试找到将DataTable数据发送到最终目标数据库表的最熟练方法。
非常感谢任何建议/意见/建议。
编辑:目标数据库表已存在。
答案 0 :(得分:6)
您应该查看SqlBulkCopy
class,尤其是overload of the WriteToServer
method that takes a DataTable
as a parameter。
如果您希望更多更高效,并且您没有要求将整个表格实现为DataSet
(或者,您可以在移动时处理内容它们以正向方式运行),然后使用overload of WriteToServer
that takes an IDataReader
ExecuteReader
method on the SqlCommand
class运行您的查询,而不是使用SqlDataAdapter
将整个表格加载到内存中。