Oracle x variável Java

5 respostas
E

Essa é difícil, porém,
se alguém souber responder, eu agradeço.

Pergunta:

É possível enviar uma variável do tipo LINKEDLIST para
uma procedure ORACLE

[color=green]se, SIM[/color]
qual é o tipo de parametro que a procedure deve receber e
como a procedure irá extrair as informações recebidas

[color=red]se, NAO[/color]
existe alguma forma de enviar algum tipo de variavel que contenha
diversas linhas de informação ( ex: vetor) para uma procedure oracle
a partir de uma aplicação java

Obrigado pela atenção

5 Respostas

S

Bom dia,

Pode passar os valores separados por virgula ou algo outro caractere separador.

E

NAO VOU PASSAR UM STRING CONCATENADO
isso não faz sentido e o proprio Oracle não suporta uma
área tão extensa.

Essa não foi a pergunta, favor ler a desrição novamente, falo em várias linhas de informação (centenas ou milahes ou milhões )

S

Já pensou que o objeto (vetor como deu exemplo), pode ficar pesado tb no caso de milhares ou milhões como falou.
Isso é uma importação ou um procedimento com um certa frequência de execução?
Se for importação pode usar o proprio sqlloader do oracle.
Gera um arquivo e depois roda o sqlloader.

http://download.oracle.com/docs/cd/B25329_01/doc/admin.102/b25107/impexp.htm#sthref400

marciosantri

Uma vez tive que fazer algo do tipo e utilizei uma variável de ambiente do próprio Oracle (tipo vetor).
Monta-se a variável e depois chama o procedimento que irá utilizar esta variável. Foi uma saída.

Exemplo:

/* Criação do pacote com a variável de ambiente */

create or replace package EXEMPLO as

type VET_STRING is table of varchar2(100) index by binary_integer;

vetor VET_STRING;

end EXEMPLO;
/* Montando informações - Isto pode ser feito por um procedimento com parâmetros - vai da sua imaginação */



EXEMPLO.vetor(1) := informação 1;

EXEMPLO.vetor(2) := informação 2;


/* Depois pode-se utilizar no seu procedimento final */



for i in 12 loop

faca_alguma_coisa(EXEMPLO.vetor(i));

end loop;


Só uma observação sobre o comentário “o proprio Oracle não suporta uma área tão extensa.”.
Existe tipos específicos que suportam sim áreas extensas. Dê uma pesquisada sobre pois pode ser uma outra opção.

Inté.

furutani

Olá

Para você passar collections entre Oracle e Java recomendo a leitura da documentação e a avaliação do uso do JPublisher

Criado 8 de julho de 2008
Ultima resposta 8 de jul. de 2008
Respostas 5
Participantes 4