[Cascavel-pm] [DBD::mysql & DBI]: Como manipular arquivos de até 4Gb em BLOBs?

SilvioCVdeAlmeida scvalmei em graaph.arq.br
Quarta Agosto 4 16:32:19 CDT 2004


Olá Champs,

Implementei um problema, que não sei até que ponto se parece como o seu,
com uma abordagem bem diferente: o mesmo programa que recebe o arquivo
no servidor, via HTTP POST, determina um nome para gravá-lo em disco,
colocando somente este nome em BD. Funciona perfeitamente bem.

Silvio

Luis Champs de Carvalho wrote:
> 
>   Colegas,
> 
>   Eu tenho uma tabela no meu banco de dados para coletar arquivos de
> tamanho arbitrário, provenientes de uma interface de download/upload
> baseada em web que estou construindo.
> 
>   Minha tabela, em SQL, simplificada para este problema:
> 
>   CREATE TABLE File(
>     id INT(16) PRIMARY KEY,
>     owner VARCHAR(40) NOT NULL,
>     mime_type VARCHAR(120) NOT NULL,
>     payload LARGEBLOB NULL
>   );
> 
>   Estou usando (em camadas, de baixo para cima, nesta ordem):
> 
>   MySQL | DBD::mysql | DBI | Ima::DBI | Class::DBI | Class::DBI::Loader
> 
>   Não tenho preconceitos quanto a usar outras classes ou interromper este
> fluxo de dados em qualquer pedaço acima do DBD::mysql e abaixo do
> Class::DBI::Loader. :-)
> 
>   Não tenho pretensão de ter memória suficiente para carregar
> completamente qualquer arquivo (de até 4Gb) para a memória, de forma a
> poder inserí-lo usando um "UPDATE File SET payload = ?" ou "INSERT...".
> 
>   Gostaria de saber se alguém conhece alguma forma de obter um IO::Handle
> ou algum "treco" similar onde eu pudesse executar write()'s POSIX ou coisa
> parecida, e gravar os dados para o BLOB em pedaços menores (512 Bytes?).
> 
>   Obrigado por qualquer ajuda que vocês puderem me oferecer.
>   Até breve.
> --
> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
>   Luis Campos de Carvalho is BSc in Comp Science,
>   PerlMonk [SiteDocClan], Cascavel-pm Moderator,
>   Unix Sys Admin && Certified Oracle DBA
>   http://br.geocities.com/monsieur_champs/
> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
> 
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em mail.pm.org
> http://cascavel.pm.org/mailman/listinfo/cascavel-pm


Mais detalhes sobre a lista de discussão Cascavel-pm