8511 - Exportar arquivo inserido na base
Problema: Como baixar arquivo que esta armazenado em determinada tabela da base de dados
Quando ocorre / onde se aplica: - Regras e Relatórios
Solução: Solução 8511: Segue exemplo de como buscar um anexo (arquivo do tipo BLOB) da base de dados.
- O exemplo foi feito com a foto da R034FOT.
definir alfa vCursor;
definir alfa vFoto;
definir numero vArquivo;
definir numero vTamanho;
SQL_Criar(vCursor);
@Seleciona a foto do colaborador no banco de dados@
SQL_DefinirComando(vCursor, select FotEmp from R034FOT where NumEmp=1 and TipCol=1 and NumCad=1);
SQL_AbrirCursor(vCursor);
se(SQL_EOF(vCursor) = 0) @Verifica se encontrou@
{
@Recupera a foto (é um campo blob)@
SQL_RetornarBlob(vCursor, FotEmp, vFoto);
@A foto será salva no diretório c:/temp com o nome FotoCol.bmp@
vArquivo = Abrir(c://Temp//FotoCol.bmp, Gravar);
@Armazena na variável vTamanho a quantidade de bytes da imagem@
TamanhoStr(vFoto, vTamanho);
@Grava a imagem no disco@
Gravar(vArquivo, vFoto, vTamanho);
@Necessário fechar o arquivo@
Fechar(vArquivo);
@Foto gravada com sucesso@
}
SQL_FecharCursor(vCursor);
SQL_Destruir(vCursor);
Quando ocorre / onde se aplica: - Regras e Relatórios
Solução: Solução 8511: Segue exemplo de como buscar um anexo (arquivo do tipo BLOB) da base de dados.
- O exemplo foi feito com a foto da R034FOT.
definir alfa vCursor;
definir alfa vFoto;
definir numero vArquivo;
definir numero vTamanho;
SQL_Criar(vCursor);
@Seleciona a foto do colaborador no banco de dados@
SQL_DefinirComando(vCursor, select FotEmp from R034FOT where NumEmp=1 and TipCol=1 and NumCad=1);
SQL_AbrirCursor(vCursor);
se(SQL_EOF(vCursor) = 0) @Verifica se encontrou@
{
@Recupera a foto (é um campo blob)@
SQL_RetornarBlob(vCursor, FotEmp, vFoto);
@A foto será salva no diretório c:/temp com o nome FotoCol.bmp@
vArquivo = Abrir(c://Temp//FotoCol.bmp, Gravar);
@Armazena na variável vTamanho a quantidade de bytes da imagem@
TamanhoStr(vFoto, vTamanho);
@Grava a imagem no disco@
Gravar(vArquivo, vFoto, vTamanho);
@Necessário fechar o arquivo@
Fechar(vArquivo);
@Foto gravada com sucesso@
}
SQL_FecharCursor(vCursor);
SQL_Destruir(vCursor);