O tomcat pode influenciar em procedures Oracle?  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
furutani
JWizard
[Avatar]

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

[WWW]
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?
furutani
JWizard
[Avatar]

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

[WWW]
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
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.
furutani
JWizard
[Avatar]

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

[WWW]
julianostr
GUJ Ranger
[Avatar]

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
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 .
furutani
JWizard
[Avatar]

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

[WWW]
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?
furutani
JWizard
[Avatar]

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

[WWW]
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.
furutani
JWizard
[Avatar]

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

[WWW]
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.
furutani
JWizard
[Avatar]

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

[WWW]
 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team