SQLException: Exceção de E/S: execução concluída com advertência ? [RESOLVIDO]

2 respostas
PadrE

Opa…

Galera, to com o seguinte erro em um rs.getString(“campo”):

java.sql.SQLException: Exceção de E/S: execução concluída com advertência at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134) at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179) at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:333) at oracle.jdbc.ttc7.LongTTCItem.getChars(LongTTCItem.java:200) at oracle.jdbc.dbaccess.DBDataSetImpl.getCharsStreamItem(DBDataSetImpl.java:1630) at oracle.jdbc.driver.OracleStatement.getCharsInternal(OracleStatement.java:3347) at oracle.jdbc.driver.OracleStatement.getStringValue(OracleStatement.java:3556) at oracle.jdbc.driver.OracleResultSetImpl.getString(OracleResultSetImpl.java:434) at oracle.jdbc.driver.OracleResultSet.getString(OracleResultSet.java:1482)

No começo achava que esse problema era por causa do campo LONG da tabela no Oracle, e que estava lendo com getString, mas mesmo mudando para getBinaryStream continuei com problema… e ao pesquisar na net li que o problema pode ser conexão com o banco… enfim, ainda não consegui achar onde esta o erro, mesmo porque em outra base que tenho, que consulta um cópia da tabela não tem esse problema… o que me fez pensar em outra possibilidade, que eh a de ter alguma infõrmação “pentelha” na tabela que esta causando isso…

Alguem ai tem idéia do que pode ser ?? E de claro… de como resolver isso ?

Vlw !!

Novos dados:
Fiz mais testes e descobri que o problema esta em ler o campo LONG do oracle… mesmo que eu nao tente fazer um GET com ele… so de carregar no ResultSet ja eh o bastante para dar problema na leitura de algum dos campos… alguem ai sabe como ler um campo LONG no banco ?

2 Respostas

gilmaslima

Cara se eu não me engano os campos tipo Long deixaram de ser padrão nos bancos Oracle desde o 8i, para isso tem o Clob.

Nem a oracle recomenda mais trabalhar com esses campos.

Ve se esse link lhe ajuda…
http://glufke.net/oracle/viewtopic.php?p=12862

flw!

PadrE

Opa… vlw a dica!!!

Sem querer acabei acertando… modifiquei o campo LONG para um VARCHAR2 (que cabe até 2000) e resolveu o problema… o ResultSet.getString deu conta… e nã perdi informação alguma. (Não sei porque foi usado o LONG)

Mas vlw post… bom saber que o LONG ficou ultrapassado e que tb como trabalhar com CLOB.

Fui !

Criado 28 de janeiro de 2009
Ultima resposta 29 de jan. de 2009
Respostas 2
Participantes 2