Árvore de páginas

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 34 Próxima »

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


1 - O que é o DBAccess?

O TOTVS | DBAccess é uma ferramenta de conectividade que permite o acesso a uma ampla variedade de SGBDs sem a necessidade de geração de códigos específicos para cada um deles.

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

Não, não é possível, pois, o TOTVS | DBAccess 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 TOTVS | DBAccess 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)

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 TOTVS | DBAccess.
  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 TOTVS | DBAccess.

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 TOTVS | DBAccess.
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 TOTVS | DBAccess.
  2. Faça um backup da pasta onde ele está instalado.
  3. Copie o conteúdo da pasta debug para a pasta onde o TOTVS | DBAccess 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 TOTVS | DBAccess.

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 TOTVS | DBAccess.
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 AdvPL, é 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 TOTVS | DBAccess 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 TOTVS | DBAccess
  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 TOTVS | DBAccess
  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 indices o DBAccess está prevista uma queda do desempenho do DBAccess por conta da sobrecarga necessária ao monitoramento.
  • Quando o recurso for desativado e o DBAccess reiniciado, a primeira conexão pode apresentar lentidão, pois, a rotina de sanitização do DBAccess apagará os dados da tabela TOP_IDXSTATS.


A partir do DBAccess 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 DBAccess em versões inferiores à 18.2.1.0, é recomendado:

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

    DROP TABLE TOP_IDXSTATS;
  • Sem rótulos