Вы указываете, что используете колонки MySQL и varchar.Мне не ясно, будет ли текущая ширина столбца 15 или 50, но в любом случае не будет никакого снижения производительности для определения столбца varchar (255).Я предполагаю, что это позволило бы успешно завершить многие случаи сбоев.
Вы не указали, требуется ли, чтобы все данные оставались в базе данных неизмененными, или вы можете усекать или изменять данные, чтобыэто подходит.Предполагая, что вы можете изменить данные, вот несколько дополнительных соображений:
Для обработки данных, которые все еще слишком длинны, мне нравится предложение Олафа проверять данные перед их включением в пакет.Я бы проверял каждую запись по мере ее прочтения, а затем решал, добавлять ли ее в пакет вставки или обрабатывать как сбой (сохранить в файле?).
Кроме того, вы не указываете, сколько обработкивы делаете на данных после чтения и перед вставкой в базу данных.Если вы этого не делаете, то, возможно, вам стоит взглянуть на инструменты массовой загрузки, доступные для MySQL (я недостаточно знаком, чтобы вам это сказать).Как правило, эти инструменты могут обрабатывать такие случаи для вас.