Problema al UPDATEAR un CLOB de Oracle

Nakune
21 de Julio del 2005
Buenas llevo un par de días intentado actualizar un campo CLOB de una BD Oracle 9i en un entorno WebLogic 8.1
Mi problema es que al igualar mi objeto CLOB clob = null; con algo que supuestamente devuelve un CLOB
while (rset.next()) {
clob = ( (OracleResultSet) rset).getCLOB(2);
}
obtengo un java.lang.ClassCastException. A ver si alguien ha pasado ya por esto y me ayuda, GRACIAS!!

Yamil
21 de Julio del 2005
long loLonKey = 0;
String loStrSql = "";
Connection loConConexion = null;
Class.forName(strNombreDriver);
loConConexion =
DriverManager.getConnection(strUrlConexion, strUser, strPassword);

/**Obtenemos el primary key de la tabla **/
Statement loStaSentencia = loConConexion.createStatement();
loStaSentencia.executeQuery(
"SELECT "+strColumnaSecuencia+".NextVal as key FROM DUAL ");
ResultSet loResResultado = loStaSentencia.getResultSet();
loResResultado.next();
loLonKey = loResResultado.getLong(1);
loStrSql =
"INSERT INTO "+strNombreTabla+" ("+strColumnaIdentificador+","+strColumnaDatos+") VALUES ("
+ loLonKey
+ ",EMPTY_CLOB())";

/**Insertamos una columna tipo CLOB*/
loConConexion.setAutoCommit(false);
PreparedStatement loPreSentenciaPreparada =
loConConexion.prepareStatement(loStrSql);
loPreSentenciaPreparada.executeUpdate();

loStaSentencia = loConConexion.createStatement();
loStaSentencia.executeQuery(
"SELECT "+strColumnaDatos+" FROM "+strNombreTabla+" WHERE "+strColumnaIdentificador+" = "
+ loLonKey
+ " FOR UPDATE");
loResResultado = loStaSentencia.getResultSet();
if (loResResultado.next()) {
oracle.sql.CLOB loCloXml =
(oracle.sql.CLOB) loResResultado.getClob(1);
OutputStream loOutFlujoSalida = loCloXml.getAsciiOutputStream();
OutputStreamWriter loOutFlujoCombinado =
new OutputStreamWriter(loOutFlujoSalida, "ISO-8859-1");
//System.out.println(inStrCadena.toString().toCharArray());
loOutFlujoCombinado.write(inStrCadena.toString().toCharArray());
loOutFlujoCombinado.flush();
loOutFlujoCombinado.close();
loOutFlujoSalida.close();
}

loConConexion.commit();
loPreSentenciaPreparada.close();
loConConexion.close();
return loLonKey;