Páginas filhas
  • Configurar o banco de conhecimento para armazenar os arquivos no banco de dados

Banco de Conhecimento do Protheus é um banco de informações genéricas, armazenadas em arquivos. Está vinculado a rotinas no Protheus como por exemplo: FATA340, MATA010, MATA030 e dentre outras, permitindo que esses arquivos sejam vinculados aos registros contidos nessas rotinas. Essas informações podem ser figuras, textos, planilhas ou qualquer tipo de arquivo que contenha informações relevantes ao Sistema.

Atualmente os arquivos ficam armazenados no sistema de arquivos do host que está localizado na raiz do diretório (Root Path) do Protheus. Esse diretório pode ser definido através do parâmetro MV_DIRDOC, caso as tabelas AC9, ACB ou ACC estiverem exclusivas é armazenados os arquivos no seguinte diretório por padrão:

Exemplo para duas filiais:
\protheus_data\DIRDOC\CO99\BR01 (Filial 01)
\protheus_data\DIRDOC\CO99\BR02 (Filial 02)

Quando as tabelas AC9, ACB ou ACC estiverem compartilhadas, ou seja, sistema com uma única filial, um diretório Shared é criado: 

Exemplo para uma filial:
\protheus_data\DIRDOC\CO99\SHARED


A partir da release 12.1.2310 será possível salvar novos arquivos diretamente no banco de dados em uma tabela com um campo criado para o armazenamento de qualquer tipo de informações em formato binário blob (Binary Large Object).

Configuração disponível a partir da release 12.1.2310

As principais vantagens de configurar o banco de conhecimento para armazenar os arquivos no banco de dados, são:

  • Controle de acesso: Armazenar arquivos binários no banco de dados permite que você controle o acesso a eles com o mesmo mecanismo de segurança usado para proteger os dados do banco. Isso simplifica a configuração de permissões e restrições de acesso e pode ajudar a garantir a segurança dos arquivos.
  • Backup e recuperação: Armazenar arquivos binários no banco de dados facilita o backup e a recuperação de dados, já que os arquivos são incluídos nos backups do banco de dados. Isso simplifica o processo de recuperação de desastres e reduz o risco de perda de dados.
  • Integridade e consistência dos dados: Manter arquivos binários no banco de dados pode ajudar a garantir a integridade e a consistência dos dados entre os arquivos e os registros relacionados no banco.
  • Transações: Quando os arquivos binários são armazenados no banco de dados, você pode aproveitar o suporte a transações do banco de dados para garantir que as operações envolvendo arquivos e registros relacionados sejam atômicas, consistentes, isoladas e duráveis (ACID).

Para configuração, deve-se alterar o parâmetro MV_MODEDOC para 2 (Salva os novos arquivos no banco de dados). Por padrão esse parâmetro tem como o valor 1 (Salva os novos arquivos no sistema de arquivos local).

No Microsoft SQL Server quando inserido, atualizado ou lido um campo do tipo blob (Binary Large Object), este dado primeiramente é salvo no Buffer Cache (Área de memória temporária usada para armazenar dados (páginas) frequentemente usados ou recentemente lidos/escritos, melhorando o desempenho e reduzindo o tempo de acesso aos dados), caso possua grandes arquivos, pode haver uma redução da Page Life Expectancy (Métrica de desempenho usada em sistemas de gerenciamento de banco de dados (DBMS) para medir a duração média, em segundos, que uma página de dados permanece no buffer cache) gerando degradação de performance.
Sendo assim é recomendado uma avaliação prévia de um DBA (Administrador de banco de dados).

Os arquivos que estão armazenados no sistema de arquivos local permanecerão e será possível acesso ao mesmo normalmente, somente os novos arquivos serão salvos no banco de dados após alteração. Você pode verificar se o arquivo está armazenado no sistema de arquivos local ou no banco de dados ao alterar ou visualizar um registro do banco de conhecimento.

Arquivo armazenado no sistema de arquivos local:

Arquivo armazenado no banco de dados:


Para importar os arquivos armazenados no sistema de arquivos local para o banco de dados clique aqui.