| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/01/2011 10:53:56
|
Ziden
Thread.start()
Membro desde: 31/08/2010 09:30:38
Mensagens: 25
Offline
|
Olá a todos.
Estou com um pequeno problema para inserir um xml no DB2. Eis o que estou fazendo:
O campo XMLREL é do tipo CLOB, e seu tamanho é de 916194 bytes. O que acontece é que, eventualmente temos um sql code -302, ou seja, dizendo que o arquivo que estamos tentando inserir é maior que o tamanho suportado para a coluna. Gostaria de saber se , antes de inserir este InputStream é possivel eu obter o tamanho dele. Eu não tenho o codigo que gera ele, mas sei que o java gera uma Stringzona grande e converte para InputStream para ser inserida no banco por CLOB. Preciso saber como ter o tamanho deste XML para validar a inserção, e apontar quais casos exatamente que estão com tamanho maior, temos mais de 2M registros (aplicação para a universidade Unicamp) portanto dificilmente vou poder ficar testando para saber qual exatamente que está ultrapassando o limite.
Obrigado a quem puder ajudar. []´s
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/01/2011 13:51:43
|
Puka
JavaTeenager
![[Avatar]](/images/avatar/93c6c0bd09a280606df12f66752d7b76.jpg)
Membro desde: 08/11/2007 13:34:45
Mensagens: 158
Offline
|
Faz um negócio decente e testa esse xml antes enviar para o método de inserção no banco...
|
De que vale tudo isso?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/01/2011 10:59:16
|
Ziden
Thread.start()
Membro desde: 31/08/2010 09:30:38
Mensagens: 25
Offline
|
Como testar o xml ?
O xml é gerado pelo proprio java, antes de chamar o método de conexão, e está gerando certinho. Nao entendi onde vc quis chegar, mas vlw a resposta. []´s
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/01/2011 15:11:20
|
EderBaum
JavaBaby
![[Avatar]](/images/avatar/b937384a573b94c4d7cc6004c496f919.jpg)
Membro desde: 27/07/2005 22:58:32
Mensagens: 92
Offline
|
Não há como determinar o tamanho de um InputStream sem ler ele por inteiro antes.
|
sabesim.com.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/01/2011 15:20:13
|
EderBaum
JavaBaby
![[Avatar]](/images/avatar/b937384a573b94c4d7cc6004c496f919.jpg)
Membro desde: 27/07/2005 22:58:32
Mensagens: 92
Offline
|
Neste cenário então você teria 03 possibilidades.
1 - Ler diretamente o tamanho do arquivo com a classe File (Se for o caso).
2 - Transformar o InputStream em ByteArrayOutputStream, chamar o metodo toByteArray() e ver seu tamanho.
3 - Ler Byte a Byte e somar.
|
sabesim.com.br |
|
|
 |
|
|
|
|