willian.eti.br
Todos os artigos
Ler Arquivos BLOB e Base64 no Fluig (Conversão de Dados)
Fluig

Ler Arquivos BLOB e Base64 no Fluig (Conversão de Dados)

Aprenda a manipular, converter e fazer a leitura de arquivos em formato BLOB, Memo ou Base64 dentro dos seus scripts do TOTVS Fluig.

Willian Silva··2 min de leitura

Em caso de dúvidas entre em contato.

Este artigo tem o objetivo de auxiliá-lo na consulta de arquivos, armazenados em colunas do banco de dados do tipo BLOB, MEMO e BASE64 .

Por enquanto testei essa possibilidade apenas em conexões que forame realizadas através da configuração de acesso Externo, disponível nesta documentaçãodocumentação . Este tipo de conexão consiste em configurar um arquivo XML, e o dataset irá ler este arquivo e carregar essa configuração para ser acessado pelo driver jdbc.

O dataset abaixo, disponível no site da TOTVS, utiliza o driver JDBC para conectar ao banco de dados através da configuração previamente realizada.

Se observarmos a linha 12 podemos ver que a variável ' rs' recebe o metodo executeQuery da classe Statement.

Fluig datasetquery jdbc

Ao conferir esta documentação da Oracle, podemos ver que o método executeQuery tem como retorno uma classe chamada ResultSet.

Execute query - java.sql.Statement

Bastou verificar agora os métodos disponíveis na documentação da classe ResultSet .

Neste teste foi utilizado o método getBytes para acessar uma coluna do tipo BLOB que armazenava uma string BASE64.

var arquivo_bytes = rs.getBytes(rs.getMetaData().getColumnName(w));
resultado =  new java.lang.String(rs, "UTF-8");

Upload Automático no Fluig.

Para realizar o upload automático em processos no fluig veja este post.

Blob , Memo, Base64..

BLOB significa Binary Large Object. Podemos entender que o BLOB é um campo que aceita uma grande quantidade de caracteres, utilizado para gravar arquivos digitais dentro de colunas no banco de dados.

Supondo que você precise armazenar um arquivo, ou até mesmo o hash base64 que representa este arquivo em um banco de dados, você provavelmente vai querer usar este tipo de dado.

Referências.

https://stackoverflow.com/questions/29887351/java-the-method-encodebase64

https://docs.oracle.com/javase/7/docs/api/java/sql/ResultSetMetaData.html

https://docs.oracle.com/javase/7/docs/api/java/lang/String.html

https://docs.oracle.com/javadb/10.8.3.0/ref/rrefblob.html

Tags

Fluig