CallableStatement retornando grandes Strings

Olá Pessoal,

Gostaria de tirar uma dúvida com vocês a respeito da chamada de uma stored procedure. Quando minha stored procedure retorna um valor maior que 65534 caracteres dá o seguinte erro:

Exception in thread "main" java.sql.SQLException: Incorrect list format, unknown type: 0
	at com.intersys.jdbc.SysList.getInt(SysList.java:1688)
	at com.intersys.jdbc.CachePreparedStatement.execute(CachePreparedStatement.java:444)
	at br.com.sluzia.pwgi.testes.TesteRotina.testeTamanho(TesteRotina.java:26)
	at br.com.sluzia.pwgi.testes.TesteRotina.main(TesteRotina.java:83)

E minha chamada da rotina está da seguinte maneira:

public static String testeTamanho() throws Exception {
		Connection conn = CacheDAO.getConnectionOficial();
		try {
			CallableStatement cstmt;
			String rtn = "? = CALL tecnica.GeralFacade_testeTamanho()";
			cstmt = conn.prepareCall(rtn);
			cstmt.registerOutParameter(1, Types.LONGVARCHAR);
			cstmt.execute();
			String retorno = (String)cstmt.getObject(1);

			cstmt.close();
			return retorno.toString();
		} catch (Exception e) {
			throw e;
		} finally {
			conn.close();
		}
	}

Minha dúvida é se estou com um problema de limite de caracteres do Driver do banco (Intersystems Caché 2008.2) ou se estou errando na chamada da stored procedure no Java. Acredito que pouquíssimas pessoas já trabalharam ou trabalham com Caché, mas talvez seja algum erro comum que eu esteja me perdendo.

Agradeço a atenção pessoal,

Anderson

Outra informação é que consegui realizar a chamada da stored procedure via Web Service. Só que pelo JDBC seria bem mais performático, certo? Por favor não se acanhem, qualquer ajuda é bem vinda :slight_smile:

ninguem tem noção do que possa ser isso? :roll: