создать новый файл со строковым образцом
String imagePath;
File test = new File(imagePath);
test.getName();
test.getPath();
getExtension(test.getName());
public static String getExtension(String uri) {
if (uri == null) {
return null;
}
int dot = uri.lastIndexOf(".");
if (dot >= 0) {
return uri.substring(dot);
} else {
// No extension.
return "";
}
}
Вероятно, необходимо изменить его для обоих клиент (Вы работаете, чтобы сделать импорт), И демон mysqld, который выполняет и принимает импорт.
Для клиента, можно определить его на командной строке:
mysql --max_allowed_packet=100M -u root -p database < dump.sql
кроме того, измените my.cnf или файл my.ini под разделом mysqld и установите:
max_allowed_packet=100M
или Вы могли выполнить эти команды в консоли MySQL, подключенной к тому же самому серверу:
set global net_buffer_length=1000000;
set global max_allowed_packet=1000000000;
(Используют очень большое значение для размера пакета.)
Это может быть изменено в Вашем my.ini
файл (в Windows, расположенном в сервере \Program Files\MySQL\MySQL) под разделом сервера, например:
[mysqld]
max_allowed_packet = 10M
По умолчанию, my.cnf нигде не найти.
необходимо скопировать один из /usr/local/mysql/support-files/my*.cnf
к /etc/my.cnf
и перезапуск mysqld
. (Который можно сделать в предпочтительной области MySQL при установке ее.)
Набор max_allowed_packet к тому же (или больше), чем, чем это было при дампе его с mysqldump. Если Вы не можете сделать этого, сделайте дамп снова с меньшим значением.
таким образом, принимая Вас вывел его с mysqldump. При использовании некоторого другого инструмента Вы самостоятельно.
Используйте max_allowed_packet
переменная, дающая команду как
mysql --max_allowed_packet=32M
-u root -p database < dump.sql
Как michaelpryor сказал, необходимо изменить его и для клиента и для демона mysqld сервер.
Его решение для клиентской командной строки хорошо, но ini файлы не всегда добиваются цели, в зависимости от конфигурации.
Так, откройте терминал, введите mysql, чтобы получить подсказку mysql и дать эти команды:
set global net_buffer_length=1000000;
set global max_allowed_packet=1000000000;
Сохраните подсказку mysql открытой, и выполните свою командную строку выполнение SQL на втором терминале..
Немного не связано с вашей проблемой, поэтому вот вам один для Google.
Если вы не выполняли mysqldump SQL, возможно, ваш SQL неработоспособен.
Я получил эту ошибку из-за того, что в моем коде случайно оказался незакрытый строковый литерал. Неряшливые пальцы бывают.
Это отличное сообщение об ошибке для бегущей строки, спасибо за MySQL!