我想用C#做批量插入。當源csv中的列數與目標表相同時,我看到了一些簡單的代碼。我有一個csv文件,我想要插入到目標表的特定列中。就我而言,目標中的列數大於csv文件中的列數。我希望能夠將csv列映射到目標列。這可能與SqlBulkCopy
?如果沒有,還有其他選擇嗎?用C#做一個批量插入?
我使用.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);
檢查這個答案http://stackoverflow.com/a/2978440/1036187 – rivarolle
我爲什麼要做這個 - 很長的故事。它實際上是SSIS。 SQL服務器和SSIS無法解析和執行大型.SQL文件。所以,這是我的下一個選擇。 – Steam
可能重複[如何使用SqlBulkCopyColumnMappingCollection?](http://stackoverflow.com/questions/2978275/how-to-use-sqlbulkcopycolumnmappingcollection) – NotMe