quot;ORA-01722quot; - Número Inválido
Estou desenvolvendo um sistema em DBExpress(SqlQuery + DataSetProvider + ClietDataSet) e o mesmo está sendo desenvolvido no windows 2000/98. Tudo funciona perfeitamente. Então, quando coloco o sistema pra rodar em windows XP ou 2000 Server, ocorre o erro ´ORA-01722´ - Número Inválido, no momento do ApplyUpdates(0).
Estou utilizando Delphi 7.0 e Oracle 8i
Obs: O sistema só consegue gravar os dados no XP e no 2000 SERVER com comando de manipulação de dados (INSERT INTO, UPDATE...), entretanto, se colocarmos Qry.Insert -> Adicionar os valores -> qry.post --> qry.Applyupdates(Nº erros), ele não grava e gera o erro que foi descrito anteriormente.
Grato
Estou utilizando Delphi 7.0 e Oracle 8i
Obs: O sistema só consegue gravar os dados no XP e no 2000 SERVER com comando de manipulação de dados (INSERT INTO, UPDATE...), entretanto, se colocarmos Qry.Insert -> Adicionar os valores -> qry.post --> qry.Applyupdates(Nº erros), ele não grava e gera o erro que foi descrito anteriormente.
Grato
Rômulo Barros
Curtidas 0
Respostas
Rômulo Barros
05/05/2004
e logo após este erro ´ORA-01722´ Ocorre o erro: [color=red:56d54b5edf]Unable To Find Record[/color:56d54b5edf]
GOSTEI 0
Leandro_si
05/05/2004
INVALID_NUMBER Tentativa de usar algo diferente de um número onde havia essa exigência. ORA-01722 / -1722
[b:d47d910ec0] Retirado:
http://www.absoluta.org/rdbms/rdbms_plsql_error.htm[/b:d47d910ec0]
da uma olhada... derepente... pode te ajudar...
GOSTEI 0
Rômulo Barros
05/05/2004
Valewu!!!!1 :oops:
GOSTEI 0
Wagnerpb
05/05/2004
Caro amigo...
Quando se acessa usando BDE, ela faz a conversão dos caracteres, no caso do acesso via DBExpress, isso não ocorre por isso é necessário setar os parametros...
Coloquei um SQlQuery com a seguinte linha:
ALTER SESSION SET NLS_NUMERIC_CHARACTERS = ´.,´
E no evento AfterConnect do componente SQLConnection chamei o método ExecSQl do SQLQuery, foi a única solução que encontrei...
É provável que tb ocorra algo parecido com datas nesse caso vc vai precisar setar outro parametro, acho que NLS_DATE_FORMAT, não sei ao certo se é esse...
Quando se acessa usando BDE, ela faz a conversão dos caracteres, no caso do acesso via DBExpress, isso não ocorre por isso é necessário setar os parametros...
Coloquei um SQlQuery com a seguinte linha:
ALTER SESSION SET NLS_NUMERIC_CHARACTERS = ´.,´
E no evento AfterConnect do componente SQLConnection chamei o método ExecSQl do SQLQuery, foi a única solução que encontrei...
É provável que tb ocorra algo parecido com datas nesse caso vc vai precisar setar outro parametro, acho que NLS_DATE_FORMAT, não sei ao certo se é esse...
GOSTEI 0