| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/06/2005 19:24:29
|
dbarreto
Thread.start()
Membro desde: 18/09/2002 11:28:53
Mensagens: 36
Localização: Butantã-SP
Offline
|
Por favor me ajudem
Como inserir uma String imensa em campo clob em banco oracle, se eu passo como string com pouco dados ele até insere, mas quando a String é muito grande ele me retorna
Data size bigger
java.sql.SQLException: Data size bigger than max size for this type
Valeu obrigado, qualquer dica é válida.
|
Daniel |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/06/2005 20:26:27
|
AndreNunes
Smalltalk
![[Avatar]](/images/avatar/87ba276ebbe553ec05d2f5b37c20125f.jpg)
Membro desde: 27/12/2004 17:31:35
Mensagens: 1
Offline
|
tente criar um BLOB e aconselhavel criar um BLOB.
|
"Senhor Jesus tenha misericordia de minha vida." pois preciso muito de você. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/06/2005 10:45:39
|
Rafael Steil
Administrador
![[Avatar]](/images/avatar/8e296a067a37563370ded05f5a3bf3ec.jpg)
Membro desde: 31/08/2002 02:35:53
Mensagens: 5984
Localização: São Paulo
Offline
|
dbarreto wrote:Por favor me ajudem
Como inserir uma String imensa em campo clob em banco oracle, se eu passo como string com pouco dados ele até insere, mas quando a String é muito grande ele me retorna
Data size bigger
java.sql.SQLException: Data size bigger than max size for this type
Valeu obrigado, qualquer dica é válida.
Um Clob eh, por definicao, uma "string imensa" ja. Provavelmente voce esta fazendo algum bind errado, ou algum outro tipo de bug no seu codigo. Como voce esta manipulando esta parte?
Rafael
|
"working code attracts people who want to code. Design documents attract people who want to talk about coding - Charles Miller"
http://rafaelsteil.com
http://twitter.com/rafaelsteil
http://www.jforum.net
http://www.flickr.com/photos/rafaelsteil |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/06/2005 10:55:38
|
foia
JavaGuru
![[Avatar]](/images/avatar/ecd62de20ea67e1c2d933d311b08178a.png)
Membro desde: 26/09/2003 16:29:51
Mensagens: 212
Localização: tiquipaya city
Offline
|
pôe a string num envelope e passa por baixo da porta !!
vc usa setString() ou setBlob() no Statement ?!
|
fôia
-----------------------
Ahhhhh meu saquinho !!! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/06/2005 14:43:18
|
dbarreto
Thread.start()
Membro desde: 18/09/2002 11:28:53
Mensagens: 36
Localização: Butantã-SP
Offline
|
Segue um trecho do que estou fazendo
try
{
PreparedStatement myStatement = myConnection.prepareStatement("INSERT INTO TABELA(ID,NOME,SOBRENOME,TEXTOCLOB)" +
" VALUES(SEQ_ID.NEXTVAL, ?, ?, ?)");
myStatement.setString(1, nome);
myStatement.setString(2, sobrenome);
myStatement.setString(3, TextoClob);
myStatement.executeUpdate();
myStatement.close();
}
catch (SQLException exc)
|
Daniel |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/06/2005 14:52:56
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
http://www.oracle.com/technology/sample_code/tech/java/sqlj_jdbc/files/advanced/LOBSample/Readme.html
Dica: Ponha um bookmark no seu browser para a Oracle Technology Network ( http://www.oracle.com/technology/index.html ). Você vai precisar muito disso.
Resumindo: você tem de inserir o registro com CLOBs vazios. Então você tem de selecionar o registro recém inserido, obter o CLOB, do CLOB obter uma OutputStream, e gravar os dados (argh).
This message was edited 1 time. Last update was at 21/06/2005 14:55:04
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/06/2005 15:07:15
|
dbarreto
Thread.start()
Membro desde: 18/09/2002 11:28:53
Mensagens: 36
Localização: Butantã-SP
Offline
|
Mas o que tenho que no campo é uma string e não OutputStream, e mais se eu passo uma string curta ele insere é só quando ultrapassa algum número de caracter.
A String e a limitação não é do String porque eu estou exibindo ela e está completa. o erro que dá é
Data size bigger
java.sql.SQLException: Data size bigger than max size for this type
|
Daniel |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/06/2005 15:23:37
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
Eu sei, já tive esse problema também (Oracle, sempre a Oracle... ), por isso é que lhe passei esse link. Acima de um determinado tamanho, usar setString não funciona, e setClob também não funciona direito com algumas versões do driver da Oracle (não sei se com o thin driver ou com o OCI).
O problema que tive foi um pouco pior, porque eu tive de usar uma conexão de um DataSource (não tinha uma conexão direta ao banco). Eu tive de fazer umas gambiarras do tipo "if (servidor é JBoss) { faz um cast do DataSource para uma classe do JBoss, que expõe a conexão nativa; usar a conexão nativa; etc. }." Muito chato.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/06/2005 15:33:59
|
dbarreto
Thread.start()
Membro desde: 18/09/2002 11:28:53
Mensagens: 36
Localização: Butantã-SP
Offline
|
E o que será que vou ter que fazer, procurar outro driver?
|
Daniel |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/06/2005 15:35:37
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
Não, o que lhe recomendo é ler o tal artigo. Tem uma receitinha de bolo lá, não se desespere
|
|
|
 |
|
|