Я загружаю текстовый файл с примерно 30'000 строк в Mysql-DB.
Выгрузка прерывается всегда через ровно 3203 строки. Разделенный файл с менее 3203 линиями работает нормально. Проблема, конечно, не в строке 3203. Скорее в Mysql-конфигурации (например, max_nbrs_of_inserts)
строки выглядят следующим образом:
...
09.01.92,06:59:27, 34,1322, 31, 2,06:59:27,00:00:00, 16.00, 0.00
...
Каждая из этих строк будет сгенерируйте запись SQL-INPUT в следующем примере:
$query = "INSERT INTO tmp_GF
(
fldGFDATUMZEIT,
fldNUMMER,
fldRespond,
fldGFP,
fldBesNr,
fldBEGINN,
fldDAUER,
fldVORRAT,
fldVERZEHR,
fldSave,
fldZeig
)values(
'$GFDATUMZEIT',
$NUMMER,
$Respond,
$GFP,
$BesNr,
'$BEGINN',
'$DAUER',
$VORRAT,
$VERZEHR,
0,
'$Zeig') ";
php.ini И настройки сценария загрузки:
ini_set('upload_max_filesize', '10M');
ini_set('post_max_size', '10M');
ini_set('max_input_time', 3000);
ini_set('max_execution_time', 3000);
Версия Ubuntu 11.10
Версия Mysql
protocol_version 10
version 5.1.58-1ubuntu1
MySQL имеет свой максимальный размер для одного запроса, называемого max_allowed_packet . По умолчанию установлено небольшое количество (по умолчанию MySQL - 1 МБ, ваш дистрибутив может быть выше), но может быть увеличен до 1 ГБ.
Увеличение этого не повредит производительности для существующих запросов. Причина, по которой она установлена по умолчанию, заключается в том, чтобы просто поймать, что может быть ошибкой, если вы не ожидаете очень больших пакетов.
Теперь вы не указываете конкретное сообщение об ошибке, но если у меня есть правильно предположил причину вашей проблемы, MySQL, вероятно, будет генерировать это сообщение об ошибке («Слишком большой пакет» на сервере и «Потерянное соединение с сервером MySQL во время запроса» или подобное на клиенте).
MySQL имеет свой максимальный размер для одного запроса, называемого max_allowed_packet . По умолчанию установлено небольшое количество (по умолчанию MySQL - 1 МБ, ваш дистрибутив может быть выше), но может быть увеличен до 1 ГБ.
Увеличение этого не повредит производительности для существующих запросов. Причина, по которой она установлена по умолчанию, заключается в том, чтобы просто поймать, что может быть ошибкой, если вы не ожидаете очень больших пакетов.
Теперь вы не указываете конкретное сообщение об ошибке, но если у меня есть правильно предположил причину вашей проблемы, MySQL, вероятно, будет генерировать это сообщение об ошибке («Слишком большой пакет» на сервере и «Потерянное соединение с сервером MySQL во время запроса» или подобное на клиенте).
MySQL имеет свой максимальный размер для одного запроса, называемого max_allowed_packet . По умолчанию установлено небольшое количество (по умолчанию MySQL - 1 МБ, ваш дистрибутив может быть выше), но может быть увеличен до 1 ГБ.
Увеличение этого не повредит производительности для существующих запросов. Причина, по которой она установлена по умолчанию, заключается в том, чтобы просто поймать, что может быть ошибкой, если вы не ожидаете очень больших пакетов.
Теперь вы не указываете конкретное сообщение об ошибке, но если у меня есть правильно предположил причину вашей проблемы, MySQL, вероятно, будет генерировать это сообщение об ошибке («Слишком большой пакет» на сервере и «Потерянное соединение с сервером MySQL во время запроса» или подобное на клиенте).
MySQL имеет свой максимальный размер для одного запроса, называемого max_allowed_packet . По умолчанию установлено небольшое количество (по умолчанию MySQL - 1 МБ, ваш дистрибутив может быть выше), но может быть увеличен до 1 ГБ.
Увеличение этого не повредит производительности для существующих запросов. Причина, по которой она установлена по умолчанию, заключается в том, чтобы просто поймать, что может быть ошибкой, если вы не ожидаете очень больших пакетов.
Теперь вы не указываете конкретное сообщение об ошибке, но если у меня есть правильно предположил причину вашей проблемы, MySQL, вероятно, будет генерировать это сообщение об ошибке («Слишком большой пакет» на сервере и «Потерянное соединение с сервером MySQL во время запроса» или подобное на клиенте).
MySQL имеет свой максимальный размер для одного запроса, называемого max_allowed_packet . По умолчанию установлено небольшое количество (по умолчанию MySQL - 1 МБ, ваш дистрибутив может быть выше), но может быть увеличен до 1 ГБ.
Увеличение этого не повредит производительности для существующих запросов. Причина, по которой она установлена по умолчанию, заключается в том, чтобы просто поймать, что может быть ошибкой, если вы не ожидаете очень больших пакетов.
Теперь вы не указываете конкретное сообщение об ошибке, но если у меня есть правильно предположил причину вашей проблемы, MySQL, вероятно, будет генерировать это сообщение об ошибке («Слишком большой пакет» на сервере и «Потерянное соединение с сервером MySQL во время запроса» или подобное на клиенте).
MySQL имеет свой максимальный размер для одного запроса, называемого max_allowed_packet . По умолчанию установлено небольшое количество (по умолчанию MySQL - 1 МБ, ваш дистрибутив может быть выше), но может быть увеличен до 1 ГБ.
Увеличение этого не повредит производительности для существующих запросов. Причина, по которой она установлена по умолчанию, заключается в том, чтобы просто поймать, что может быть ошибкой, если вы не ожидаете очень больших пакетов.
Теперь вы не указываете конкретное сообщение об ошибке, но если у меня есть правильно предположил причину вашей проблемы, MySQL, вероятно, будет генерировать это сообщение об ошибке («Слишком большой пакет» на сервере и «Потерянное соединение с сервером MySQL во время запроса» или подобное на клиенте).