Leia arquivos BLOB , MEMO, BASE64 no Fluig.

  • por

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ção documentaçã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