InvalidType: Buscando um STRUCT do Oracle  XML
Índice dos Fóruns » Assuntos gerais (Off-topic)
Autor Mensagem
RodrigoSol
Virtual Machine Man
[Avatar]

Membro desde: 23/07/2003 10:09:10
Mensagens: 683
Localização: Belzonte
Offline

Srs,

Estou testando o uso do STRUCT do Oracle e estou com problemas.

Criei algo parecido com isto:


E fiz uma procedure para me retornar a estrutura com a seguinte assinatura:


E estou tentando buscar isso via JDBC desse jeito:


O problema e que ele dá erro na linha de registro do parametro:


Alguma dica?

Site para candidato a vereador
aim icon [MSN]
Diogenes
Virtual Machine Man
[Avatar]

Membro desde: 17/07/2003 14:08:01
Mensagens: 646
Localização: Belo Horizonte
Offline

Tente utilizar o tipo STRUCT da classe oracle.jdbc.driver.OracleTypes e olhe se dá certo....

Diogenes

"É possível resistir a invasão de exércitos, mas não a invasão de idéias." - (Victor Hugo)


[Email] [MSN]
RodrigoSol
Virtual Machine Man
[Avatar]

Membro desde: 23/07/2003 10:09:10
Mensagens: 683
Localização: Belzonte
Offline

Mesmo usando oracle.jdbc.driver.OracleTypes dá o mesmo erro.

Site para candidato a vereador
aim icon [MSN]
Diogenes
Virtual Machine Man
[Avatar]

Membro desde: 17/07/2003 14:08:01
Mensagens: 646
Localização: Belo Horizonte
Offline

Embora parte do problema já tenha sido resolvido gostaria de deixar duas boas referencias para a utilização de parâmetros de saída e tipos complexos junto ao Oracle...

http://www.stanford.edu/dept/itss/docs/oracle/9i/java.920/a96654/oraoot.htm
http://www.stanford.edu/dept/itss/docs/oracle/9i/java.920/a96654/oraint.htm

This message was edited 1 time. Last update was at 17/02/2005 16:00:26


Diogenes

"É possível resistir a invasão de exércitos, mas não a invasão de idéias." - (Victor Hugo)


[Email] [MSN]
Diogenes
Virtual Machine Man
[Avatar]

Membro desde: 17/07/2003 14:08:01
Mensagens: 646
Localização: Belo Horizonte
Offline

Rodrigo,
Para que não ocorra esse erro acima vc deve especificar a qual tipo ele se refere no banco que vc está acessando.

Para isso utilize o método sobrecarregado registerOutParameter(int, int, String) de CallableStatement....
No terceiro parâmetro vc especifica o tipo dele na base de dados....As vezes é necessário informar o schema do tipo....

Eu fiz esse pequeno teste aquih e deu certo...

Implementei aquih um Struct em meu banco com a simples e seguinte estrutura:



Após isso, criei uma procedure que tem um parâmetro de retorno, com o tipo criado anteriormente:



E em minha classe de teste fiz:




Diogenes

"É possível resistir a invasão de exércitos, mas não a invasão de idéias." - (Victor Hugo)


[Email] [MSN]
RodrigoSol
Virtual Machine Man
[Avatar]

Membro desde: 23/07/2003 10:09:10
Mensagens: 683
Localização: Belzonte
Offline

Valeu Cara!!!

Site para candidato a vereador
aim icon [MSN]
 
Índice dos Fóruns » Assuntos gerais (Off-topic)
Ir para:   
Powered by JForum 2.1.8 © JForum Team