Tempo aproximado para leitura: 00:03:00 min
Ocorrência
Ao efetuar a contabilização, gera o erro:
: Error : 102 (37000) (RC=-1) - [Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near "X"
Causa
O erro ocorre por que ao tentar executar uma query do lançamento padrão para a contabilização, o Banco de Dados está recebendo conteúdo de gravação com caractere especial (' " # @ $ % ¨! & *).
Exemplo:
Erro : 102 (37000) (RC=-1) - [Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near ''E".
Veja a definição da Query do histórico aglutinado do lançamento padrão:
CT5_HAGLUT(C) :VENDAS NF."+SD2->D2_SERIE+"/"+SD2->D2_DOC+"-"+SUBSTR(SA1->A1_NOME,1,15),1,40)
Resultado recebido no arquivo de contra prova, tabela CTK : 'VENDAS NF 001 000101 - 000008572-ABCIN ' E LTDA'
O apostrofo entre a letra N e a letra E , é um caractere especial não aceito na montagem da query para o banco dados.
Neste caso, a informação do nome do cliente no cadastro , por exemplo, possui um apostrofo ( ' ) na sua composição, isso interfere na codificação e gravação de banco de dados, onde ele entende que a query finalizou seu bloco de instruções quando encontra o apostrofo, o que vier após isso, fica caracterizado como erro de sintaxe.
Ambiente
Cross Segmentos- TOTVS Backoffice (Linha Protheus)-SIGAFAT- todas as versões
Solução
Para solucionar:
1-Identifique o campo que está trazendo o caractere especial.
2-Retire o caractere especial da informação, assim não terá problemas para a gravação no Banco de Dados.
3- Em último caso, utilizar um execblock no lançamento padrão, para poder tratar caracteres especiais. Em caso de dúvidas sobre esse processo, contate nossa equipe de atendimento Advpl para melhor orientação.
0 Comentários