我正在尝试使用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);
答案 0 :(得分:1)
这就是你要找的东西吗? SqlBulkCopyColumnMapping MSDN Reference
// Set up the column mappings by name.
SqlBulkCopyColumnMapping mapID = new SqlBulkCopyColumnMapping("ProductID", "ProdID");
bulkCopy.ColumnMappings.Add(mapID);