Невозможно загрузить огромные файлы с помощью Load Data infile local в mysql

Я попытался загрузить огромный файл данных, например, 10 МБ файлов в db, используя Load Data Local Infile в mysql, используя службу Windows. Но это не удалось, и служба Windows остановилась без каких-либо исключений. Я попытался с файлами небольшого размера, такими как 2 мб, и это удалось.

Есть ли способ загрузить огромные файлы в mysql db? И что может быть причиной остановки службы Windows?

вот мой код..

public int UpdateDataBase(string query, string filename, Logger swLog)
 {
 int status = 0;

 using (MySqlConnection myconnection = new MySqlConnection(connectionCdrBank))
 {

 try
 {
 myconnection.ConnectionTimeout = 1000;
 myconnection.Open();
 myconnection.BeginTransaction();

 MySqlCommand mycommand = new MySqlCommand("ClearTempTable", myconnection);
 mycommand.CommandType = CommandType.StoredProcedure;
 status = mycommand.ExecuteNonQuery();

 MySqlCommand mycommand1 = new MySqlCommand(query, myconnection);
 mycommand1.CommandTimeout = 1000;
 status = mycommand1.ExecuteNonQuery();

 MySqlCommand mycommand2 = new MySqlCommand("InsertToCdrDetailsTempTable", myconnection);
 mycommand2.CommandType = CommandType.StoredProcedure;
 mycommand2.CommandTimeout = 1000;
 status = Convert.ToInt32(mycommand2.ExecuteScalar());

 myconnection.Commit();
 myconnection.Close();

 }
 catch (Exception ex)
 {
 Console.WriteLine("Error:" + ex.Message);
 if (myconnection.State == ConnectionState.Open)
 myconnection.Rollback();
 status = (ex.Message.IndexOf("Duplicate entry") != -1) ? -1000 : 0;
 swLog.WriteErrorToLog("");
 swLog.WriteErrorToLog("Error while saving: " + ex.Message);
 mail.SentMail("Error while saving:", ex.Message);
 swLog.CloseLogger();
 }
 }

 return status;
 }

где запрос

LOAD DATA LOCAL INFILE 'a.txt' INTO TABLE tbl_cdrload" FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';
1 ответ

Я загружаю до 100 МБ файлов в поля MySQL Blob. И это только мой искусственный предел.

Таким образом, файлы размером 10 МБ не должны быть проблемой.

Вы правильно установили max_allowed_packet?

Что вы используете для загрузки файлов? Ваш собственный код или какой-то инструмент? Какой соединитель MySQL?

licensed under cc by-sa 3.0 with attribution.