1

我正在尝试使用 C# 进行批量插入。当源 csv 中的列数与目标表相同时,我看到了一些简单的代码。我有一个 csv 文件,我想将它插入到目标表的特定列中。就我而言,目标中的列数大于 csv 文件中的列数。我希望能够将 csv 列映射到目标列。这可能SqlBulkCopy吗?如果没有,还有其他选择吗?

我正在使用 .NET 3.5 和 Visual Studio 2008

来源 http://www.codeproject.com/Articles/439843/Handling-BULK-Data-insert-from-CSV-to-SQL-Server

StreamReader file = new StreamReader(bulk_data_filename);
CsvReader csv = new CsvReader(file, true,',');
SqlBulkCopy copy = new SqlBulkCopy(conn);
copy.DestinationTableName = tablename;
copy.WriteToServer(csv);
4

1 回答 1

1

那是你要找的吗?SqlBulkCopyColumnMapping MSDN 参考

// Set up the column mappings by name.
SqlBulkCopyColumnMapping mapID = new SqlBulkCopyColumnMapping("ProductID", "ProdID");
bulkCopy.ColumnMappings.Add(mapID);
于 2013-10-30T22:29:16.353 回答