Vários Inserts

3 respostas
brmonteiro

Olá

tenho um problema

no meu trabalho preciso fazer um aplicativo que leia e insira valores contidos em um arquivo
para o banco de dados ORACLE, o problema é que esse aplicativo tem que varre-lo constantemente
ou seja sao varios inserts, em torno de mil por vez

fiz isso e insere direitinho mas depois de um tempo da erro no listener 12500 e cai o banco de dados
tendo que reiniciar o servidor

agradeco a ajuda

3 Respostas

E

Procure por “batch insert” ou “bulk insert”.

“Batch insert” é uma configuração na conexão que você faz para que os inserts sejam mais rápidos porque eles são processados de uma vez em vez de serem processados um por um.

“Bulk insert” é uma forma de você submeter ao banco um monte de inserts de uma vez, usualmente com um arquivo-texto e usando alguma ferramenta do banco (como o SQLLoader ou o Import). Veja em http://www.dba-oracle.com/art_orafaq_data_load.htm como o SQLLoader é super-rápido.

brmonteiro

bom mas no caso se ele varrer denovo o arquivo e der problema de primary key
a transacao vai ser concluida?

tipo

vou inserir

1
2
3

depois o arquivo eh atualizado ficando

1
2
3
4

nisso ele vai varrer o arquivo e vai jogar no batch

a transacao vai ser concluida?

ela eh minha duvida

E

Se estiver usando Hibernate, dê uma olhadinha aqui para ver se o tratamento de transações está OK ou não para você.
http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/batch.html
Se estiver usando JDBC puro, dê uma olhadinha aqui:
http://docs.oracle.com/javase/1.3/docs/guide/jdbc/spec2/jdbc2.1.frame6.html

Criado 3 de julho de 2012
Ultima resposta 3 de jul. de 2012
Respostas 3
Participantes 2