SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 27.09.2010 06:17:43

Latoid
Участник
Зарегистрирован: 18.07.2010
Сообщений: 12

Загрузка бинарного файла в базу с локального компьютера

Здравствуйте.
Пишу почтовую программу, что будет получать письма с почтовых серверов и помещать их в базу данных на другом сервере.
Среди данных могут встречаться приложенные к письмам файлы (attachments). Собственно, нужно организовать их хранение.
Итак, задача:
на локальном компе есть файл, скажем, ok.ico, лежащий в корне диска C:\
Выполняю:

Код:

INSERT INTO bin2 (bin_data, description, filename, filesize, filetype) VALUES (LOAD_FILE('C:\ok.ico'), 'test_description', 'ok.ico', '555', 'ico');

Не работает, ибо LOAD_FILE может подцепить файлы, только лежащие на сервере.

Т.е. если скопирую на сервер и выполню:

Код:

INSERT INTO bin2 (bin_data, description, filename, filesize, filetype) VALUES (LOAD_FILE('/share/HDA_DATA/Public/ok.ico'), 'test_description', 'ok.ico', '555', 'ico');

То всё нормально. Требуется, однако, загружать файлы с локального компа. Это как-нибудь реализуемо?

Передавать содержимое файла строкой не хочу, т.к. боюсь упереться в ограничение длины запроса.
Спасибо

Отредактированно Latoid (27.09.2010 06:27:55)

Неактивен

 

#2 27.09.2010 10:31:38

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Загрузка бинарного файла в базу с локального компьютера

Даже если бы был аналог локального LOAD FILE — Вы бы все равно
уперлись в длину пакета, правда ведь? wink

Можете поизучать LOAD DATA LOCAL INFILE, но, кажется, Вы пытаетесь
обойти несуществующую проблему, причем очень странным способом.

Неактивен

 

#3 27.09.2010 10:57:33

Latoid
Участник
Зарегистрирован: 18.07.2010
Сообщений: 12

Re: Загрузка бинарного файла в базу с локального компьютера

paulus

Подскажите, пожалуйста, как бы вы решали эту проблему на моем  месте? Я до чего сам додумался, так вопрос и поставил )

Неактивен

 

#4 27.09.2010 12:24:29

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Загрузка бинарного файла в базу с локального компьютера

Загрузил бы файл локально и вставлял как простую строку. Если не хватит
размера пакета, нужно просто поднять значение max_allowed_packet.

Неактивен

 

#5 27.09.2010 12:30:28

Latoid
Участник
Зарегистрирован: 18.07.2010
Сообщений: 12

Re: Загрузка бинарного файла в базу с локального компьютера

Спасибо

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson