Re: Extracting files using DBI
am 31.01.2006 14:26:06 von mlistsSham Prasad wrote:
> Hi all,
Hello,
> I have a bugzilla database running on mysql. If you are aware of
> bugzilla, it has a table called "attachments". what i am trying to do
> is get the attachments of all the bugs having attachment/s into a
> directory.
> for example there is a bug with a attachment named abc.zip. can i
> extract this file to a directory on my filesystem? as you have
> mentioned the files in mysql table are in BLOB fields. i have written
> a script but am not able to copy the file to the filesystem instead i
> am able to copy the contents which is not readable.
> Contents of the script
>
> #!usr/lib/perl
use strict;
use warnings;
> use DBI;
> my $dbh = DBI->connect("DBI:mysql:databse=Pbugs;host=appletest","root" ,"deltazia",{'RaiseError"
> => 1});
> my $sth = $dbh->prepare(select thedata from attachments where
> attach_id=143") or die "can't prepare statement";
> print"Query Results\n";
> while(my @row = $sth->fetchrow_array()){
> print"@row\n";
> }
> $sth->execute or die "can't execute statement";
> $dbh->disconnect;
> Note - thedata in the query represents the contents of the file.
> the above script prints the contents of the attachment in a binary
> form which is nonreadable.
> Actually i want the file completely to be copied to the file system.
> how can i do it using DBI?
write @row to a file
perldoc -f open
perldoc -f binmode