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.
Até a Build 20180606 não era 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
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.
- Pare o serviço do TOTVS | 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 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.
- Encerre o TOTVS | DBAccess.
- Faça um backup da pasta onde ele está instalado.
- Copie o conteúdo da pasta debug para a pasta onde o TOTVS | DBAccess está 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.
- 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.
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.
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:
- Parar os serviços/processos do TOTVS | DBAccess
- Abrir um client Oracle de sua escolha (sqlplus, isql, Oracle SQL Developer, etc...)
- Conectar na base de dados utilizando o mesmo usuário utilizado pelo TOTVS | DBAccess
- 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;
A tabela TOP_IDXSTATS é utilizada pela funcionalidade de virtualização de indices.
- Ao ativar o monitoramento de índices do TOTVS | DBAccess, está prevista uma queda no desempenho da ferramenta por conta da sobrecarga necessária ao monitoramento.
- Quando o recurso for desativado e o TOTVS | DBAccess reiniciado, a primeira conexão pode apresentar lentidão, pois, sua rotina de sanitização apagará os dados da tabela TOP_IDXSTATS.