| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/11/2006 18:29:40
|
furutani
JWizard
![[Avatar]](/images/avatar/c864aef53fe27a83053cf.jpg)
Membro desde: 11/10/2003 23:58:51
Mensagens: 2995
Localização: Iacri-SP e São Paulo-SP
Offline
|
Olá
Estou com um problema estranho.
Tenho uma aplicação que roda redondo em desenvolvimento (tomcat 5.5.15) e outro em produção (tomcat 5.5.17) que esta com um problema em apenas em serviço.
Mesmo utilizando o banco de produção, em ambiente de desenvolvimento, a aplicação funciona.
O erro é totalmente sem noção: ORA-01858: a non-numeric character was found where a numeric was expected
Gostaria de perguntar a vocês se é possivel haver uma diferença, mesmo que remota, nas versões do tomcat de desenvolvimento e de produção que possa influenciar esse erro. Por exemplo uma discrepancia no getParameter(), que possa gerar um retorno diferente.
A unica coisa que falta trocar é o tomcat. Mas o tomcat de produção é meio complicado.
Grato
|
Até mais,
Roberto Jundi Furutani
Sun Certified Business Component Developer 1.3
Sun Certified Web Component Developer
Sun Certified Java Programmer
SAP Certified Development Associate - ABAP with SAP NetWeaver 7.0
 |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/11/2006 18:48:50
|
oyama
Virtual Machine Man
Membro desde: 19/04/2005 10:11:09
Mensagens: 572
Offline
|
Isto tem cara de versão errada do driver JDBC da Oracle.
Você está distribuindo o driver JDBC no seu deploy ou já está instalado no Tomcat de produção?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/11/2006 18:55:59
|
furutani
JWizard
![[Avatar]](/images/avatar/c864aef53fe27a83053cf.jpg)
Membro desde: 11/10/2003 23:58:51
Mensagens: 2995
Localização: Iacri-SP e São Paulo-SP
Offline
|
Ola
O driver não é distribuido no war, está no lib do tomcat, mas é o mesmo.
A versão do oracle do 9i para o 10g poderia influenciar?
|
Até mais,
Roberto Jundi Furutani
Sun Certified Business Component Developer 1.3
Sun Certified Web Component Developer
Sun Certified Java Programmer
SAP Certified Development Associate - ABAP with SAP NetWeaver 7.0
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/11/2006 19:00:51
|
lap_junior
JavaTeenager
Membro desde: 09/10/2003 08:42:55
Mensagens: 159
Offline
|
Furutani, no oracle o formato de data e números são definidos pela configuração do client instalado, verifique se de repente não tem alguma diferença entre os ambientes, por exemplo instalação em línguas diferentes.
flw
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/11/2006 19:02:01
|
oyama
Virtual Machine Man
Membro desde: 19/04/2005 10:11:09
Mensagens: 572
Offline
|
furutani wrote:O driver não é distribuido no war, está no lib do tomcat, mas é o mesmo.
Só tome cuidado, pois a politica de nomes de arquivo da Oracle para os drives JDBC é horrivel.
furutani wrote:A versão do oracle do 9i para o 10g poderia influenciar?
Sim, principalmente se você estiver manipulando Date e Timestamp.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/11/2006 19:05:27
|
furutani
JWizard
![[Avatar]](/images/avatar/c864aef53fe27a83053cf.jpg)
Membro desde: 11/10/2003 23:58:51
Mensagens: 2995
Localização: Iacri-SP e São Paulo-SP
Offline
|
Então lap_junior,
Já levantamos essa possiblidade, mas os dois bancos estão em portugues.
Teria alguma forma de explicitar a lingua no data source do tomcat?
|
Até mais,
Roberto Jundi Furutani
Sun Certified Business Component Developer 1.3
Sun Certified Web Component Developer
Sun Certified Java Programmer
SAP Certified Development Associate - ABAP with SAP NetWeaver 7.0
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/11/2006 19:11:23
|
julianostr
GUJ Ranger
![[Avatar]](/images/avatar/ca7e09eacf1ae34bc819d495c5adfed9.jpg)
Membro desde: 31/03/2006 14:16:14
Mensagens: 855
Localização: Blumenau - SC
Offline
|
Só por via das dúvidas, execute esse select nos 2 bancos:
Dê uma comparada nos valores....
|
LASER
Light Amplification by Stimulated Emission of Radiation |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/11/2006 19:34:14
|
pm
JavaEvangelist
Membro desde: 28/01/2005 12:42:15
Mensagens: 438
Offline
|
Os dois utilizam o mesmo SO ?
Tive problemas com isso aki !!!
mas com valores numericos com casas decimais .
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/11/2006 19:34:44
|
furutani
JWizard
![[Avatar]](/images/avatar/c864aef53fe27a83053cf.jpg)
Membro desde: 11/10/2003 23:58:51
Mensagens: 2995
Localização: Iacri-SP e São Paulo-SP
Offline
|
Juliano,
Os dois estão iguais.
Não sei mais o que pode ser.
O pior que tem uma palicação em PHP que usa as mesmas procedures e funciona.
Grato
|
Até mais,
Roberto Jundi Furutani
Sun Certified Business Component Developer 1.3
Sun Certified Web Component Developer
Sun Certified Java Programmer
SAP Certified Development Associate - ABAP with SAP NetWeaver 7.0
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/11/2006 19:57:11
|
oyama
Virtual Machine Man
Membro desde: 19/04/2005 10:11:09
Mensagens: 572
Offline
|
furutani wrote:Juliano,
Os dois estão iguais.
Não sei mais o que pode ser.
O pior que tem uma palicação em PHP que usa as mesmas procedures e funciona.
Grato
Boa: verifique se o caracter de separador monetario está igual nas duas JVMs.
Alias, para entender melhor o problema, o erro dá ao chamar uma stored procedure passando um valor com separador de decimais? Como você está setando este valor? setDouble ou setFloat?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/11/2006 20:37:57
|
furutani
JWizard
![[Avatar]](/images/avatar/c864aef53fe27a83053cf.jpg)
Membro desde: 11/10/2003 23:58:51
Mensagens: 2995
Localização: Iacri-SP e São Paulo-SP
Offline
|
oyama,
Obrigado pela dica.
O sistema criado em PL/SQL é muito complexo, é procedure que chama outra, q chama outra, q chama mais algumas.
Não esta dando erro numa procedure chamada diretamente pelo java.
Os parametros passados são apenas do tipo int, long e String.
A gente já esta ficando sem opçao. Pedimos para compactar o diretorio do tomcat e nos enviar.
Eu não sei tem alguma coisa haver mas o ambiente de produçao é linux/unix e o desenvolvimento é windows.
Obrigado
|
Até mais,
Roberto Jundi Furutani
Sun Certified Business Component Developer 1.3
Sun Certified Web Component Developer
Sun Certified Java Programmer
SAP Certified Development Associate - ABAP with SAP NetWeaver 7.0
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/11/2006 11:47:26
|
oyama
Virtual Machine Man
Membro desde: 19/04/2005 10:11:09
Mensagens: 572
Offline
|
furutani wrote:
O sistema criado em PL/SQL é muito complexo, é procedure que chama outra, q chama outra, q chama mais algumas.
Não esta dando erro numa procedure chamada diretamente pelo java.
Os parametros passados são apenas do tipo int, long e String.
A gente já esta ficando sem opçao. Pedimos para compactar o diretorio do tomcat e nos enviar.
O que eu queria ver era tipo um Describe da stored procedure que você está chamando em Java, para ver que tipo de dados você está utilizando.
furutani wrote:
Eu não sei tem alguma coisa haver mas o ambiente de produçao é linux/unix e o desenvolvimento é windows.
Então a dica do usuário pm é valida. Se o Linux/Unix for portugues e o Windows em ingles (ou vice-versa) pode dar problema de separador de decimais (, e .), CharCodeSet, etc. Mas pela mensagem tem cara mesmo de caracter separador de decimal ( ORA-01858 ) . Tente logar todos os parametros que você está passando para esta stored procedure. Se tiver algum numero com casa decimal que é passado como string, isto pode ser a fonte do problema. Lembrando que a lingua (language) do Oracle também influencia nisto.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/11/2006 13:31:46
|
furutani
JWizard
![[Avatar]](/images/avatar/c864aef53fe27a83053cf.jpg)
Membro desde: 11/10/2003 23:58:51
Mensagens: 2995
Localização: Iacri-SP e São Paulo-SP
Offline
|
oyama,
A function que eu chamo pelo java é a seguinte
Como eu citei em uma mensagem anterior o erro vem de uma function pl/sql chamada por outra function que é chamada pela function acima.
Por isso está complicado resolver esse problema. Para ajudar o debug de pl/sql developer não é tão bom quanto ao do eclipse.
Obrigado mais uma vez.
|
Até mais,
Roberto Jundi Furutani
Sun Certified Business Component Developer 1.3
Sun Certified Web Component Developer
Sun Certified Java Programmer
SAP Certified Development Associate - ABAP with SAP NetWeaver 7.0
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/11/2006 13:42:54
|
oyama
Virtual Machine Man
Membro desde: 19/04/2005 10:11:09
Mensagens: 572
Offline
|
Chute: ta com cara que o problema nao tem nada a ver com o seu codigo em Java. Ta com cara que as bases de dados Oracle estao configuradas com languages diferentes. Execute aquele select que o usuario julianostr passou para ver se esta tudo igual.
Tente executar a stored procedure "na mao" e pegue a linha do erro.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/12/2006 15:48:27
|
furutani
JWizard
![[Avatar]](/images/avatar/c864aef53fe27a83053cf.jpg)
Membro desde: 11/10/2003 23:58:51
Mensagens: 2995
Localização: Iacri-SP e São Paulo-SP
Offline
|
Ola
Segundo o pessoal de servidores para resolver o problema bastou alterar a variavel lang do linux, dessa forma.
Obrigado a todos principalmente ao oyama, lap_junior, pm e julianostr.
|
Até mais,
Roberto Jundi Furutani
Sun Certified Business Component Developer 1.3
Sun Certified Web Component Developer
Sun Certified Java Programmer
SAP Certified Development Associate - ABAP with SAP NetWeaver 7.0
 |
|
|
 |
|
|