Post 05/09/2007 13:54:22 Assunto: Re:Erro PreparedStatement ao gravar campo long Oracle
query1 = “insert into admprod.tbod_script (NR, SCRIPT) VALUES (?, '”+strLinhas+"’ )";
Que raio de PreparedStatement é esse que você monta uma string desse jeito? Não é possivel usar “(?,?)” e passar os dois parâmetros?
A questão é que ao utilizar o paramentro com (?) apresenta o seguinte erro:
java.sql.SQLException: Tamanho dos dados maior que o tamanho máximo para este tipo: 11341
Post 05/09/2007 13:54:22 Assunto: Re:Erro PreparedStatement ao gravar campo long Oracle
query1 = “insert into admprod.tbod_script (NR, SCRIPT) VALUES (?, '”+strLinhas+"’ )";
Que raio de PreparedStatement é esse que você monta uma string desse jeito? Não é possivel usar “(?,?)” e passar os dois parâmetros?
A questão é que ao utilizar o paramentro com (?) apresenta o seguinte erro:
java.sql.SQLException: Tamanho dos dados maior que o tamanho máximo para este tipo: 11341
[/quote]
Essa citação deve resolver o seu problema com o “raio” do PreparedStatement do Java:
Agora, como sugestão, já que você está usando Oracle, e precisa inserir Strings imensas nas suas tabelas, não seria melhor fazê-lo usando colunas do tipo CLOB?
A citação não resolve o problema, já a questão do campo CLOB sei que funciona, mas tem muitos dados nesta tabela e outras aplicações utilizam a mesma, ou seja, não é viavel alterar o tipo do campo.
Nesse caso acho que você deveria mobilizar todos os responsáveis por essas outras aplicações que usam tal tabela de forma a convencê-los de que é necessário alterar esse campo.
Se ainda assim você preferir “aumentar a capacidade” dessa coluna sem alterar o seu tipo. você pode tentar usar algoritmos de compressão para armazenar esses valores String nessa sua tabela. E mesmo desse modo, você ainda assim poderá ter que se “harmonizar” com os responsáveis por essas outras aplicações.