Seu Protheus apresenta erros como 'ADS Error (7022) - Maximum index levels exceeded', 'Warning ADS - Index create error', 'Ctree error Could not initialize driver [DBFCDX]' ou 'Environment Config Error - CTREEROOTPATH requires'? Estes problemas geralmente indicam instabilidade no driver de arquivo ADS ou configuração incorreta do ambiente.
ADS Error (7022) - Maximum index levels exceeded
Este erro ocorre no log do Servidor de Aplicação quando o limite de balanceamento de um índice no driver ADS é excedido. Geralmente, está associado a funções como DBAppend(), DBRUnlock() e DBSkip().
Causa
A causa é o uso de uma expressão de indexação cuja chave (Indexkey()) ultrapassa 140 caracteres, especialmente após uma sequência grande de inserções consecutivas.
Correção
- Verifique as chaves de índice e garanta que nenhuma exceda 140 caracteres. Chaves menores reduzem a chance do erro.
- Considere criar o índice após a inserção dos dados.
- Troque a RDD de acesso para
CTREECDX, que não possui a limitação de balanceamento para chaves maiores que 140 bytes. - Como alternativa, altere o programa para recriar o índice preventivamente a cada X mil registros inseridos. O valor de X deve ser determinado empiricamente.
Warning ADS - Index create error
Este aviso ocorre durante a criação de um índice permanente (.cdx) via drivers ADS. A aplicação AdvPL é encerrada se a expressão do índice ou filtro for inválida.
Causa
Um exemplo comum é usar um campo com tamanho maior que 240 bytes na chave do índice, o que impede sua criação. A mensagem de erro pode ser 'The seek key is not the correct length'.
Ctree error Could not initialize driver [DBFCDX]
Este erro acontece ao trocar a configuração de c-tree Local para c-tree Server sem parar e reiniciar o Servidor de Aplicação. A mensagem indica que não foi possível criar uma nova instância do driver.
Correção
Sempre pare e reinicie o Servidor de Aplicação após alterar a configuração para trabalhar com c-tree Server.
Environment Config Error - CTREEROOTPATH requires
Este erro ocorre ao configurar a chave CtreeRootPath em um ambiente que não utiliza c-tree Server. A especificação desta chave exige um ambiente com c-tree Server.
Correção
Verifique a configuração do seu ambiente. Se o servidor não estiver utilizando c-tree Server, remova a chave CtreeRootPath da configuração.
Armadilhas
- O limite de 140 caracteres para chaves de índice no ADS é uma diretriz; sequências de inserção específicas podem causar o estouro mesmo com chaves menores.
- A troca de c-tree Local para c-tree Server exige a reinicialização do Servidor de Aplicação para que as configurações sejam aplicadas corretamente.
CtreeRootPathsó deve ser configurado em ambientes que utilizam c-tree Server.
Fontes oficiais
- ADS Error (7022) - Maximum index levels exceeded - TOTVSTEC
- Warning ADS - Index create error - TOTVSTEC
- Ctree error Could not initialize driver DBFCDX - TOTVSTEC
- Environment Config Error - CTREEROOTPATH requires - TOTVSTEC
Paginas publicadas pela TOTVS na Developer Network.
Comentarios 0