Á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 27 Próxima »


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

1 - O que é o ?

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.
O TOTVS | DBAccess suporta por compatibilidade campos do tipo MEMO presentes na estrutura dos arquivos DBF, anteriormente utilizados nas primeiras versões da linha de produtos Microsiga Protheus.

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 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 do DBAccess - Windows

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

  • Pare o serviço do DBAccess.
  • Faça um backup da pasta onde ele está instalado.
  • Copie todo o conteúdo da pasta debug e sobrescreva os arquivos.
  • Apague o dbconsole.log, dbconsole.bak (caso exista) e qualquer arquivo core_*dmp (caso exista).
  • Reinicie o 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 DBAccess.
Compacte os arquivos e anexe ao ticket aberto no Suporte Tecnologia.

4 - Procedimentos para teste com o build Debug do DBAccess - Linux

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

  • pasta multi/debug, para distribuição MultiDB
  • pasta informix/dbug, para distribuição exclusiva para Informix.
  • Encerre o DBAccess.
  • Faça um backup da pasta onde ele está instalado.
  • Copie o conteúdo da pasta debug para a pasta onde o DBAccess instá instalado.
  • Apague o dbconsole.log e dbconsole.bak (caso exista).

A partir daqui, todos os comandos devem ser executados como root.

  • Defina o tamanho de um core dumps como ilimitado.

    ulimit -c unlimited
  • Reinicie o 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 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 que é a base do ERP Protheus, é 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 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 DBAccess
  2. Abrir um client Oracle de sua escolha (sqlplus, isql, Oracle SQL Developer, etc...)
  3. Conectar na base de dados do Protheus utilizando o mesmo usuário utilizado pelo DBAccess
  4. Executar o script abaixo através do client conectado a base de dados do Protheus:


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;



  • Sem rótulos