ORA - 01722
22/09/2003
0
Não consigo solucionar o problema ORA - 01722, alguem já passou por algo semelhante?
Marcio.theis
Curtir tópico
+ 0
Responder
Posts
09/10/2003
Eduardo Pereira
Já tive este erro e tinha a ver com o suporte a línguas estrangeiras do Oracle. A solução foi, para a sessão corrente do Oracle, ajustar os caracteres de separador decimal a agrupamento de dígitos, com o seguinte comando:
alter session set nls_numeric_characters = ´.,´
Com o dbExpress, assim que a conexão é aberta, execute o seguinte:
MinhaConexao.ExecuteDirect(´alter session set nls_numeric_characters = ´´.,´´´);
onde ´MinhaConexao´ é um TSQLConnection. Observe que são duas aspas simples antes e três depois dos caracteres ponto e vírgula.
[]´s
Eduardo Pereira
alter session set nls_numeric_characters = ´.,´
Com o dbExpress, assim que a conexão é aberta, execute o seguinte:
MinhaConexao.ExecuteDirect(´alter session set nls_numeric_characters = ´´.,´´´);
onde ´MinhaConexao´ é um TSQLConnection. Observe que são duas aspas simples antes e três depois dos caracteres ponto e vírgula.
[]´s
Eduardo Pereira
Responder
27/11/2003
Margaridi
Um campo numérico está recebendo um valor inválido.
Como o Eduardo disse, pode ser problemas de configuração de línguas.
Também, pode ser a configuração local da máquinas (Painel de Controle > Configurações Regionais) que está com formato de moeda diferente do que você está passando na sua aplicação.
Pode ainda, ser uma falha de programação, onde está sendo atribuída uma variável varchar2 para uma variável numérica.
Como o Eduardo disse, pode ser problemas de configuração de línguas.
Também, pode ser a configuração local da máquinas (Painel de Controle > Configurações Regionais) que está com formato de moeda diferente do que você está passando na sua aplicação.
Pode ainda, ser uma falha de programação, onde está sendo atribuída uma variável varchar2 para uma variável numérica.
Responder
Clique aqui para fazer login e interagir na Comunidade :)