【发布时间】:2020-03-05 08:54:32
【问题描述】:
我有一个包含 18000 + 行的数据集。有没有办法将它插入到 SQL Server 数据库表中,而无需逐行遍历数据集?数据集将 具有与数据库表完全相同的结构。我有超过 4 列 我得到的列。任何代码示例或链接都会很棒。谢谢你们 非常喜欢
【问题讨论】:
我有一个包含 18000 + 行的数据集。有没有办法将它插入到 SQL Server 数据库表中,而无需逐行遍历数据集?数据集将 具有与数据库表完全相同的结构。我有超过 4 列 我得到的列。任何代码示例或链接都会很棒。谢谢你们 非常喜欢
【问题讨论】:
您可以将SQLBulkCopy 与以下方法一起使用: SqlBulkCopy.WriteToServer Method (DataTable) - MSDN
将提供的 DataTable 中的所有行复制到目标表 由 SqlBulkCopy 的 DestinationTableName 属性指定 对象。
类似:
using (SqlBulkCopy bulkCopy = new SqlBulkCopy(connection))
{
bulkCopy.DestinationTableName =
"dbo.BulkCopyDemoMatchingColumns";
try
{
// Write from the source to the destination.
// Check if the data set is not null and tables count > 0 etc
bulkCopy.WriteToServer(yourDataSet.Tables[0]);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
【讨论】:
使用 C#.net 的 sqlbulkcopy 组件。详情请查看示例HERE
【讨论】: