Nesta documentação vamos tratar alguns erros de inserção que impedem o funcionamento devido da ferramenta. Esses erros podem ser causados por:
- Erro de sintaxe SQL.
- Erro de data type dos campos no banco de dados.
- Verificar os parâmetros e campos personalizados.
- Verificar se os campos existem, ou se os nomes estão corretos.
- Verificar a quantidade de parâmetros, campos.
- Condições especiais.
Erro de sintaxe SQL
O erro de sintaxe é um dos mais comuns, na imagem abaixo temos um exemplo de log de erro de sintaxe, que nesse caso é apenas um ; antes da palavra VALUES que está impedindo o novo cliente a ser inserido, porém o erro seria o mesmo para inserção de Pedidos e Orçamentos.
Quando se deparar com este erro, verifique se a sintaxe do insert está correta, e certifique-se que não está deixando nenhum caractere que possa estar impedindo a execução da query, verifique também se os parâmetros de valores String estão entre '' (aspas simples), e os campos numéricos sem.
Caso esteja com dificuldade de encontrar o erro, é importante copiar a query, e tentar executar diretamente no banco de dados, pois assim facilita a localização do erro. Em alguns SGBD o local do erro é grifado, ou definido com mais detalhes.
Erro de data type
O erro de data type também é bem comum de ocorrer, e geralmente estão ligados ao tipo de dados que os parâmetros do PlugBot devolve para o insert.
Cada parâmetro devolve um tipo de dado (esta informação pode ser visualizada, fixando o ponteiro do mouse sobre o parâmetro do PlugBot).
Desta forma, é importante certificar se o valor que cada parâmetro recebe está de acordo com o data type do campo que será inserido em seu banco de dados.
Esta validação pode ser feita de forma mais simples, copiando a query e executando diretamente no SGBD do banco de dados.
Exemplo:
Verifique se um parâmetro string está sendo inserido corretamente em um campo string, ou então, se um parâmetro que retorne números está sendo inserido corretamente em um campo INT ou FLOAT.
Parâmetros utilizados
É muito importante também, em casos de erros, validar se a syntax do SQL está de acordo sobre os parâmetros, onde a quantidade de dados de entrada no insert corresponde a quantidade de campos.
No exemplo acima, a quantidade de campos (8) é inferior a quantidade de parâmetros informados (9).
A mesma consideração deve ser tomada para parâmetros personalizados.
O nome dos parâmetros utilizados também devem serem observados e validados no erro de SQL.
Sendo assim, valide se todos estão descritos corretamente, assim como disponibilizado no PlugBot.
Exemplo:
OBS: Os parâmetros sempre devem estarem descritos em maiúsculo!
Campos do banco de dados
É muito comum haver erros de digitação no momento de criar a query, errando o nome do campo, ou até mesmo confundir o nome do campo onde deseja inserir um determinado valor. Sendo assim, valide todos os campos do insert, e confirme se realmente existem dentro do seu banco de dados, ou então, se estão digitados de forma correta.
Campos strings
Em cadastros com campos strings é muito comum erros referentes ao tamanho do campo onde o valor será inserido. Para isto, verifique se o campo onde os dados serão inseridos corresponde ao tamanho da string.
Exemplo:
Se o campo em seu banco de dados é varchar(20), este campo suporta até 20 carácteres.
Caso a query de inserção está recebendo para este campo, dados superiores a este valor, causara erros na inserção.
No exemplo a cima, o campo UF no banco de dados é varchar(2), ou seja, recebe até 2 carácteres, entretanto, o parâmetro está recebendo o valor 'PARANÁ', que contem 6 caracteres.
Para corrigir este erro é necessário adequar os valores para se corresponderem, como por exemplo, corrigir o campo no banco de dados para receber a quantidade necessária de dados, ou então, aplicar SUBSTRING sobre o parâmetro para enviar ao banco de dados apenas a quantidade permitida pelo campo.
Condições especiais
No banco de dados, é comum tabelas ou inserções terem condições especiais, como por exemplo campos not null (não nulos) que precisam serem preenchidos na tabela, ou quando a inserção é feita por procedures, ou aciona alguma trigger. Neste caso, faça uma analise sobre os dados que estão sendo enviados, e veja se eles realmente atendem a todas as necessidades da tabela ou function que será executada.
Se encontrar alguma inconsistência nas informações, adapte o SQL de inserção para que atenda todas as necessidades.
Comentários
0 comentário
Por favor, entre para comentar.