如何使用MySqlBulkLoader添加列映射

时间:2018-09-06 12:59:57

标签: c# mysql file

我正在尝试导入csv文件并将其保存到mysql数据库中,所以我的问题是上传了数据,但值与文件中的值不正确。

我的问题是如何像“ SqlBulkCopy”(例如exemple.ColumnMappings.Add(“ field1”,“ field3”)一样,使用“ MySqlBulkLoader”放置列映射

在这里,我的方法只是我需要如何添加列映射:

 MySqlConnection connexion = new MySqlConnection("---");
                var dt= new MySqlBulkLoader(connexion);
                dt.TableName = "tablename";
                dt.FileName = dest;
                dt.FieldTerminator = ";";
                dt.FieldQuotationCharacter = '"';
                dt.Load();

1 个答案:

答案 0 :(得分:0)

MySqlBulkLoader.Columns设置为要加载的表中列的名称。您需要为CSV文件中的每一列添加一个列名称;要忽略列,请将其分配给用户变量,而不是将其分配给列。例如,要将第一列映射到field1,将第三列映射到field3,并忽略第2和4列:

var dt = new MySqlBulkLoader(connexion);
dt.Columns.AddRange(new[] { "field1", "@discard", "field3", "@discard" });

请注意,为了以这种方式丢弃列,您需要在连接字符串中添加AllowUserVariables=true