2010-02-02 3 views
1

У меня есть база данных с изображениями, хранящимися как поля blob. Это не помогло, это был выбор предыдущего разработчика.копировать поле mysql blob из одной базы данных в другую

Теперь мне нужны эти данные на новом сайте, и поставщик не позволит мне скопировать данные простым способом (файл стал крупнее 11 МБ - не будет загружать его, и у меня нет доступа к оболочке). Итак, я думал, что напишу скрипт, который открывает соединение в db1, выбирает все записи и затем копирует их в таблицу в новом db2.

Работает отлично, если я исключаю капли. Если я тоже хочу их скопировать, он не будет вставляться.

У кого-то было что-то подобное раньше? Должен ли я относиться к блобам по-разному, когда речь идет о вставке?

Спасибо за любые идеи или помощь.

+0

Как вы пытаетесь вставить, и как это провал? – bobince

ответ

2

11MB не является огромным файлом, я удивлен, что ваш хост имеет такой максимальный размер загрузки.

Вы думаете об экспорте в виде SQL, разбивая файл на две части (в Notepad ++ или что-то еще), а затем загружая их в более мелкие разделы? Не займет много времени.

+0

+1 - С точки зрения скорости, я подозреваю, что это, вероятно, путь. –

+0

hmmm ... такой вид работы, но капли остаются пустыми. –

1

Возможно, проверьте, можете ли вы установить max_allowed_packet на вашей базе данных mysql. Я не уверен, что это влияет на вставки, но я помню, что мне нужно было настроить этот параметр, когда я работал над веб-приложением, которое позволяло пользователям загружать бинарные файлы 3-5 МБ из полей blob в БД.

Эта ссылка может быть полезным, от быстрого поиска Google: http://www.astahost.com/info.php/max_allowed_packet-mysql_t2725.html

+0

может работать, но мне не разрешено изменять это. –

Смежные вопросы