pingcap / pingcap/tidb

Use MySqlBulkLoader to report "Don't support load data without local field"

Open
#35,419 1 comment 0 reactions 0 assignees View on GitHub
type/question
Dominant language
Go
Stars
40.5k
Forks
6.2k
PR merge metrics
PR metrics pending

Description

The following error occurred when using MySQL bulkloader for batch insert:

MySql.Data.MySqlClient.MySqlException:“Load Data: don't support load data without local field”

Is MySQL bulkloader currently supported? If not, is there a similar method for batch insertion?

The implementation code is as follows:

try
{
conn.Open();
tran = conn.BeginTransaction();
MySqlBulkLoader bulk = new MySqlBulkLoader(conn)
{
FieldTerminator = ",",
FieldQuotationCharacter = '"',
EscapeCharacter = '"',
LineTerminator = "\r\n",
FileName = tmpPath,
NumberOfLinesToSkip = 0,
TableName = table.TableName,
};

bulk.Columns.AddRange(table.Columns.Cast().Select(colum => colum.ColumnName).ToList());
insertCount = bulk.Load();
tran.Commit();
}
catch (MySqlException ex)
{
if (tran != null) tran.Rollback();
throw ex;
}
finally
{
conn.Close();
conn.Dispose();
}

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.