Важно отметить, что, как указано на странице man:
mysql2dbf не может записывать файлы MEMO в это время.На днях я преобразовал один файл с помощью dbf2mysql и думал, что мои проблемы с этим закончились. К сожалению, я провел следующие 6 часов, пытаясь решить проблему с одним из моих самых больших файлов, которые не могут быть записаны в MySQL.
Ошибок не было вообще, он просто не писал. Я прошел множество шагов, включая изменение размера буфера и т. Д., Но ничего не понял, прежде чем осознать, что это файл MEMO.
Я новичок во всем этом, поэтому для того, чтобы Чтобы помочь другим новичкам, я дам вам тайну. Единственный способ узнать, что вы имеете дело с файлом MEMO, как это сделано Visual FoxPro (насколько я знаю, так или иначе), состоит в том, что у него есть 3 сопутствующих файла, заканчивающихся на .cdx (которые у всех есть), .dbt , и .fpt.
.dbf = Файл базы данных, который вы пытаетесь преобразовать, конечно. .cdx = Тип составного индексного файла. .dbt = Содержит сам текст MEMO, но не может быть открыт с помощью текстового редактора. .fpt = Содержит запись заголовка MEMO.Мне посчастливилось иметь только один из 3-х сопутствующих файлов, .fpt и .cdx ... которые DID конвертируются. Таким образом, посредством процесса исключения, это файл .fpt или запись заголовка MEMO, который является нарушительным файлом. К сожалению, простое перемещение этого файла из каталога не работает.
Я уверен, что есть способ обойти это, к сожалению, я пока не знаю. Однако, когда (и я имею в виду «когда»), я разрешаю это, я отправлю его здесь.
Вы можете использовать sudo lsof /var/lib/dpkg/lock, чтобы увидеть, что использует блокировку
jorion@home{~}:$ sudo lsof /var/lib/dpkg/lock
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
Output information may be incomplete.
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
synaptic 7061 root 20uW REG 8,54 0 131016 /var/lib/dpkg/lock
в этом примере, его синаптический
похоже, что ваш apt заблокирован другим процессом. вы можете просмотреть, какой процесс использует apt с этой командой:
lsof /var/lib/dpkg/lock
, чтобы разблокировать его, запустите эту команду:
sudo rm /var/lib/dpkg/lock
выполняется некоторый процесс Apt. Сначала вы должны закрыть его.
использовать эту команду, чтобы увидеть, есть ли какие-либо apt-процессоры: -
ps aux | grep apt
, если вы его нашли, тогда вы можете убить его с помощью PID
kill -9 PID
Попробуйте эту команду, чтобы прервать процесс apt-get:
killall aptМожет помочь, если другое приложение использует apt. после этой команды вы можете получить некоторую ошибку, чтобы снова запустить apt, if is, поэтому запустите:
killall apt
Вы можете использовать sudo lsof /var/lib/dpkg/lock, чтобы увидеть, что использует блокировку
jorion@home{~}:$ sudo lsof /var/lib/dpkg/lock
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
Output information may be incomplete.
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
synaptic 7061 root 20uW REG 8,54 0 131016 /var/lib/dpkg/lock
в этом примере, его синаптический
похоже, что ваш apt заблокирован другим процессом. вы можете просмотреть, какой процесс использует apt с этой командой:
lsof /var/lib/dpkg/lock
, чтобы разблокировать его, запустите эту команду:
sudo rm /var/lib/dpkg/lock
выполняется некоторый процесс Apt. Сначала вы должны закрыть его.
использовать эту команду, чтобы увидеть, есть ли какие-либо apt-процессоры: -
ps aux | grep apt
, если вы его нашли, тогда вы можете убить его с помощью PID
kill -9 PID
Попробуйте эту команду, чтобы прервать процесс apt-get:
killall aptМожет помочь, если другое приложение использует apt. после этой команды вы можете получить некоторую ошибку, чтобы снова запустить apt, if is, поэтому запустите:
killall apt