Veja a seguir respostas para algumas dúvidas comuns sobre o TOTVS | DBAccess.
1 - O que é o TOTVS | 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.
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 Degub do DBAccess - Windows
- Pare o serviço do DBAccess
- Faça um backup da pasta onde ele está instalado
- Descompacte todo o conteúdo do pacote debug e sobrescreva os arquivos
- Apague o dbconsole.log e dbconsole.bak (caso exista)
- Crie um atalho do arquivo dbaccessdbg.exe (para instalações 32Bits) ou dbaccess64dbg.exe (para instalações 64Bits)
- Clique com o botão direito do mouse sobre o atalho e escolha a opção 'Propriedades'
- Na linha Target inclua o parâmetro -console
- Exemplo: c:\totvs\dbaccess\dbaccessdbg.exe -console
- Execute o atalho para iniciar o DBAccess em modo console
Obs.: Para análise de problemas de queda, colete os arquivos dbconsole.log, dbconsole.bak (caso exista), dbaccess.ini e coredump (core_*.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 Degub do DBAccess - Linux
- Encerre o DBAccess
- Faça um backup da pasta onde ele 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
- Execute o dbaccessdbg (para instalações 32Bits) ou dbaccess64dbg (para instalações 64Bits)
./dbaccessdbg ou ./dbaccess64dbg
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.
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.