如何使用perl将文件保存到mysql数据库中

时间:2012-03-26 13:23:32

标签: mysql linux perl

我有一个表PGM_MASTER,它有三列

PGM_ID | int(11)

PGM_ENV_ID | INT(11)

PGM_TEXT | MEDIUMTEXT

我需要您的协助将文件/内容直接存储到mysql DB(例如/tmp/t1.tst)中,以便列#PG; PGM_TEXT'以及通过perl行中的其他列。我也需要保留我打算存储的文件格式。

高级感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

未测试:

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);

答案 1 :(得分:0)

为什么不将文件上传到服务器,而不是将实际文件保存在数据库中,只需保存对文件结构中位置的引用。

说你有结构

t1.tst

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

在数据库中存储文件路径:FOLDER / t1.tst