Veja a seguir respostas para algumas dúvidas comuns sobre o .


1 - O que é o DBAccess?

2 - É possível trazer o conteúdo de um campo do tipo "M" (memo) através de uma query? 

Até a Build 20180606 não era possível, pois, o suporta por compatibilidade campos do tipo MEMO presentes na estrutura dos arquivos DBF.

Caso seja feita uma query onde é retornado um campo MEMO explicitamente (selecionando um campo MEMO em uma query) ou implicitamente (executando um SELECT * em uma tabela que contém um campo MEMO), será registrado no arquivo de console do uma mensagem de advertência, indicando que o campo MEMO foi removido do registro retornado.

Exemplos de mensagem de advertência:

  • [WARNING] Unsupported blob type [123] in field FLD_MEMO - Column removed from result set because binary (blob/image/memo) data types are not supported in query - (tOCI8Stmt::AssignFields)
  • [WARNING] Unsupported binary type [123] in field FLD_MEMO - Column removed from result set because binary (blob/image/memo) data types are not supported in query - (tOCI8Stmt::AssignFields)
  • [WARNING] Unsupported clob type [123] in field FLD_MEMO - Column removed from result set because binary (blob/image/memo) data types are not supported in query - (tOCI8Stmt::AssignFields)
  • [WARNING] Unsupported long type [123] in field FLD_MEMO - Column removed from result set because binary (blob/image/memo) data types are not supported in query - (tOCI8Stmt::AssignFields)
  • [WARNING] Unsupported column type [123] in field FLD_MEMO - Column removed from result set because binary (blob/image/memo) data types are not supported in query - (tOCI8Stmt::AssignFields)
  • Unsupported column type [123] in field FLD_MEMO - Column removed from result set because binary (blob/image/memo) data types are not supported in query - (tODBCStatement::BindCols

A partir do DBAccess Build 20180606, usando um TOTVS Application Server e Framework do ERP atualizados, passou a ser suportado o retorno de campos MEMO em QUERY, desde que a Query seja codificada no fonte AdvPL usando o EMBEDDED SQL , e o(s) campo(s) MEMO seja(m) o(s) último(s) campo(s) da QUERY. 

3 - Procedimentos para teste com o build debug - Windows

A versão debug pode ser encontrada no pacote de atualização, na pasta debug, liberado no Portal de Suporte.

  1. Pare o serviço do .
  2. Faça um backup da pasta onde ele está instalado.
  3. Copie todo o conteúdo da pasta debug e sobrescreva os arquivos.
  4. Apague o dbconsole.log, dbconsole.bak (caso exista) e qualquer arquivo core_*dmp (caso exista).
  5. Reinicie o .

Obs.: Para análise de problemas de queda, colete os arquivos dbconsole.log, dbconsole.bak (caso exista), dbaccess.ini e coredump (core_dbg_*.dmp) gerado na mesma pasta do .
Compacte os arquivos e anexe ao ticket aberto no Suporte Tecnologia.

4 - Procedimentos para teste com o build debug - Linux

A versão debug pode ser encontrada no pacote de atualização, liberado no Portal de Suporte

  • pasta multi/debug, para distribuição MultiDB
  • pasta informix/dbug, para distribuição exclusiva para Informix.
  1. Encerre o .
  2. Faça um backup da pasta onde ele está instalado.
  3. Copie o conteúdo da pasta debug para a pasta onde o está instalado.
  4. Apague o dbconsole.log e dbconsole.bak (caso exista).
  5. A partir daqui, todos os comandos devem ser executados como root.
  6. Defina o tamanho de um core dumps como ilimitado.

    ulimit -c unlimited
  7. Reinicie o .

Obs.: Para análise de problemas de queda, colete os arquivos dbconsole.log, dbconsole.bak (caso exista), dbaccess.ini e coredump (core*) gerado na mesma pasta do .
Compacte os arquivos e anexe ao ticket aberto no Suporte Tecnologia.

Algumas distribuições e/ou versões de Linux podem gerar o arquivo coredump em outro lugar, que não na pasta de instalação da aplicação.
Para mais detalhes, consulte o arquivo /var/log/messages ou agende um analista de infraestrutura.

5 - SGBD Grants


Devido à necessidades técnicas da linguagem , é necessário dar permissão de acesso aos catálogos para todos SGBDs.

No caso do SGBD Oracle é necessário dar permissão aos catálogos abaixo:

  • sys.obj
    • Utilizado para verificar a existência de uma tabela e/ou índice.
    • Utilizado para fazer o describe de tabelas e/ou índices e montar um cache interno de estruturas.

  • sys.col
    • Utilizado para fazer o describe de tabelas e/ou índices e montar um cache interno de estruturas.

  • sys.icol
    • Utilizado para fazer o describe de tabelas e/ou índices e montar um cache interno de estruturas.

  • sys.ind
    • Utilizado para fazer o describe de tabelas e/ou índices e montar um cache interno de estruturas.

6 - Como remover sequences órfãs no Oracle?

As versões de anteriores a 17.2.1.5, não estavam deletando/removendo as sequences criadas para tabelas temporárias e consequentemente deixando sequences órfãs no SGDB.

Para remover as sequences órfãs, execute o procedimento abaixo:

  1. Parar os serviços/processos do
  2. Abrir um client Oracle de sua escolha (sqlplus, isql, Oracle SQL Developer, etc...)
  3. Conectar na base de dados utilizando o mesmo usuário utilizado pelo
  4. Executar o script abaixo através do client conectado a base de dados:


DECLARE
	cStmt	VARCHAR(128);
	CURSOR c IS SELECT SEQUENCE_NAME FROM ALL_SEQUENCES WHERE SEQUENCE_OWNER = USER AND REGEXP_LIKE(SEQUENCE_NAME, '^T.*_[0-9]+_SEQ');
BEGIN
	FOR it IN c
	LOOP
		cStmt := 'DROP SEQUENCE ' || it.SEQUENCE_NAME;
		EXECUTE IMMEDIATE cStmt;
	END LOOP;
END;

7 - Qual a finalidade da tabela TOP_IDXSTATS?

A tabela TOP_IDXSTATS é utilizada pela funcionalidade de virtualização de indices.

  • Ao ativar o monitoramento de índices do , está prevista uma queda no desempenho da ferramenta por conta da sobrecarga necessária ao monitoramento.
  • Quando o recurso for desativado e o  reiniciado, a primeira conexão pode apresentar lentidão, pois, sua rotina de sanitização apagará os dados da tabela TOP_IDXSTATS.


A partir do  versão 18.2.1.0, não haverá lentidão na sanitização da tabela TOP_IDXSTATS, pois, a rotina de limpeza automática foi otimizada.

Se for observada lentidão na primeira conexão com  em versões inferiores à 18.2.1.0, é recomendado:

  1. Parar o serviço do
  2. Abrir um client do SGBD de sua escolha
  3. Conectar na base de dados utilizando o mesmo usuário utilizado pelo
  4. Apagar a tabela TOP_IDXSTATS com o comando abaixo:

    DROP TABLE TOP_IDXSTATS;