Как сохранить файлы в базе данных MySQL, используя Perl - PullRequest
0 голосов
/ 26 марта 2012

У меня есть таблица PGM_MASTER, которая имеет три столбца

PGM_ID |int (11)

PGM_ENV_ID |int (11)

PGM_TEXT |mediumtext

Мне нужна ваша помощь в хранении файлов / содержимого непосредственно в базе данных mysql (скажем, /tmp/t1.tst) для столбца 'PGM_TEXT' вместе с другими столбцами в строке через perl.Мне тоже нужно сохранить формат файлов, которые я намерен хранить.

Большое спасибо за вашу помощь.

Ответы [ 2 ]

0 голосов
/ 26 марта 2012

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

Скажем, у вас есть структура

t1.tst

FOLDER  |
        | t1.tst
        | t2.tst
        | t3.tst
        | t4.tst

В вашей базе данных вы храните путь к файлу: FOLDER / t1.tst

0 голосов
/ 26 марта 2012

Не проверено:

use DBI qw();
use File::Slurp qw(read_file);

my $content = read_file('/tmp/t1.tst', { binmode => ':raw' });
my $dbh = DBI->connect('DBI:mysql:database=DBNAME', { AutoCommit => 1, RaiseError => 1, });
$dbh->do('insert into PGM_MASTER (PGM_TEXT) values (?)', {}, $content);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...