Ronie Também já tive problemas com pessoal dos fornecedores de "pacotes" que insistem que não há problema na aplicação... botam a culpa na versão do Oracle, no sistema operacional, blá-blá-blá...
Mas tem que ter MUITA paciência nessas horas e demonstrar (ou melhor, **provar**) a causa do erro. Certamente a culpa NÃO é da versão do Oracle! Qualquer TO_NUMBER('string') pode gerar esse erro. Então o que causa isso é o ***CONTEÚDO*** da tabela: no BD do 9i deve haver só strings válidas na conversão, mas no BD do 10g deve ter alguns casos de dados inválidos para a TO_NUMBER. Você pode utilizar a função que o Ivan passou, para achar esses casos. =^D Exemplo: --------------------------------- SELECT RTRIM(SUBSTR(CD_USUARIO,1,3)) AS CAT_CART, RTRIM(SUBSTR(CD_USUARIO,4,10)) AS COD_IDEN, RTRIM(NUM_CARTAO)) AS NREXTCAR, FROM schema.view_do_fornecedor WHERE SUBSTR(CD_USUARIO,1,3) IN ('101','102','103','104','105','106', '107','108','109','110','111','112','113') AND ( IS_NUMBER(RTRIM(SUBSTR(CD_USUARIO,1,3))) IS NULL OR IS_NUMBER(RTRIM(SUBSTR(CD_USUARIO,4,10))) IS NULL OR IS_NUMBER(RTRIM(NUM_CARTAO)) IS NULL ); --------------------------------- Crie a função IS_NUMBER que o Ivan mandou e faça a consulta acima. Isso deve retornar os dados que causam o problema. [ ] André --- Em oracle_br@yahoogrupos.com.br, "khraken" <[EMAIL PROTECTED]> escreveu > > Olá André e Ivan! > Bom dia e grato por responder! > A bem da verdade o que ocorre é o seguinte: > > Temos um software de uma empresa de SP que faz controle de acesso dos > funcionários do prédio. Nossa versão atual dos softwares são: Rh 8 e > Oracle 9.2.0.4. A intenção é migrar para RH AS Linux 4.0 com Ora 10gR2 > (10.2.0.1.0). Um dos acordos com a empresa dona do software que faz o > controle de acesso é que não podemos ter acesso direto às tabelas do > mesmos, então acessamos algumas informações de lá através de VIEWS. > Bom, o acesso que apresenta o erro está vindo de uma outra view que > temos aqui, pottanto view fazendo select em outra view. > Nos testes anteriores com 10gR2, onde peguei o problema, encontrei > como solução para a questão, forçar o to_char dentro do where uma vez > que percebi que a conversão prá to_number não estava ocorrendo e aí, o > erro não apareceu mais. Então pedi aos Analistas de Desenvolvimento > que alterassem as aplicações e boa. Isso foi em 01/12/05. "ELES NÃO > ALTERARAM", pois insistem que uma vez que funciona no 9i, tem que > funcionar no 10g.... e bla,bla... Abaixo a view e o sql que acessa: > > CREATE OR REPLACE VIEW VISAO ("CAT_CART","COD_IDEN","NREXTCAR") > AS SELECT > TO_NUMBER(RTRIM(SUBSTR(CD_USUARIO,1,3)),'999') AS CAT_CART, > TO_NUMBER(RTRIM(SUBSTR(CD_USUARIO,4,10)),'9999999999') AS COD_IDEN, > TO_NUMBER(RTRIM(NUM_CARTAO)) AS NREXTCAR, > FROM schema.view_do_fornecedor > WHERE SUBSTR(CD_USUARIO,1,3) IN ('101','102','103','104','105','106', > '107','108','109','110','111','112','113') WITH CHECK OPTION ; > > select a.cat_cart, a.cod_iden > FROM > smart.v1 a, > smart.v6 b, > smart.v42 c > WHERE > a.cat_cart = c.cat_cart and a.cod_iden = c.cod_iden > and b.data is not null > and (b.uni = 'DAC') > and (a.cat_cart = 108) > and (a.cat_cart = b.cat_cart and a.cod_iden = b.cod_iden) > and (b.dainccar is not null) > and rownum < 11; > > OBS: cat_cat e cod_iden em V1,V6 e V42 são numbers. > > > SQL> desc v42; > > CAT_CART NUMBER > COD_IDEN NUMBER > NREXTCAR NUMBER > > > SQL> @sql.sql > select a.cat_cart, a.cod_iden, a.tmovuni, b.dainccar > * > ERROR at line 1: > ORA-01722: invalid number > > > Relembrando, o erro não ocorre no 9i. > > > Agradeço pelas sugestões. > Lamento e peço desculpas aos demais pela extensão do texto. > Meus respeitos à todos, > Cordialmente, > > Ronie Ramos de Oliveira > DBA - Unicamp. > -------------------------------------------------------------------------------------------------------------------------- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ --------------------------------------------------------------------------------------------------------------------------_____________________________________________________________________ Area de download do grupo - http://www.4shared.com/dir/101727/a4dcc423 Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html