Erro durante a iteração do ResultSet

3 respostas
T

Olá pessoal…

Estou com um problema na execução de uma query, o banco de dados é o oracle, quando eu requisito um select na base de dados, entre os dados desse select existe um campo do tipo LONG. Após fazer a busca na base de dados, eu itero o resultSet:

[color="red"] while (dados.next()) {....}[/color]

Porém, ocorre uma execeção:
[color=“red”]java.sql.SQLException: Exceção de I/O: Tamanho de tipo maior que o Máximo[/color]

quando eu removo o campo LONG da sql não ocorre mais a exceção;
Quando o campo LONG está presente na sql, e mesmo quando não tento acessar o dado desse campo LONG no ResultSet, é disparado a exceção.
Quem souber a provável causa da exceção, por favor me ajudem!!

3 Respostas

M

como vc esta pegando esse número? resultSet.getLong( “coluna” ) ??

T

ai vai o trecho em que manipulo a captura do LONG no resultset:

try {
			InputStream in = dados.getAsciiStream("parecer");
			if (in != null) {
			  dados_vo_inc.setTxt_aba1_parecer(getLongOracle(in));
			}
		  } catch (Exception e) {
			System.out.println("************************ ERRO NO PARECER 14 ************************");
			e.printStackTrace(System.err);
		  }

.
.
.
public String getLongOracle(InputStream dados) throws Exception {
    InputStream data = null;
    StringBuffer dataBuffer = null;
    try {
      dataBuffer = new StringBuffer();
      data = dados;
      int ret = 0;
      while((ret = data.read()) != -1) {
        dataBuffer.append((char)ret);
      }
    } catch (Exception e) {
      e.printStackTrace(System.err);
}
T

o código acima não está completo, colei errado o trecho, faltou o return… mas o erro não é isso.

Estou com achando que o problema está no versão do jsdk que o projeto está utilizando, 1.3. Esse projeto possui uma alta dependencia da versão 1.3 do jsdk.

Será que pode ser isso??

Criado 21 de janeiro de 2005
Ultima resposta 22 de jan. de 2005
Respostas 3
Participantes 2