我正在尝试导入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();

最佳答案

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

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


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

关于c# - 如何使用MySqlBulkLoader添加列映射,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52204723/

10-09 23:55