Estoy de codificación Java función dentro de Oracle de Base de datos que producen adjudicar de texto!
cómo convertir una cadena a CLOB (oracle.sql.CLOB) en java?
¿cuál es la recta manera de hacerlo?

Estoy tratando de construir una función que se ha Cadena como una entrada con de oracle.sql.CLOB como una salida, pero no funciona! Yo no estoy haciendo ningún jdbc relacionados con el trabajo!

aquí es lo que tengo (que no es trabajo!)

  public static CLOB str2clob(String s)
  {
         oracle.sql.CLOB clob = null;

         try
         {
               clob.setString(0,s);

         } catch (Exception e)
         {
         }
         return clob;
  }
InformationsquelleAutor Data-Base | 2011-11-09

3 Comentarios

  1. 2
    /*********************************************************************************************
     * From String to CLOB
     *  @return CLOB representation of string
     *********************************************************************************************/
    private java.sql.Clob stringToClob(String source)
    {
        try
        {
            return new javax.sql.rowset.serial.SerialClob(source.toCharArray());
        }
        catch (Exception e)
        {
            log.error("Could not convert string to a CLOB",e);
            return null;
        }
    }
    • Por favor dar alguna descripción será mejor….
    • Esto es posible, pero creado Clob no funciona correctamente! Por ejemplo, al invocar yourClob.getAsciiStream() lanza SerialException: Unsupported operation. SerialClob cannot return a the CLOB value as an ascii stream, unless instantiated with a fully implemented Clob object. Para más detalles por favor ver SerialClob aplicación.
  2. 0

    Algo como esto:

    oracle.sql.CLOB **clob** = ((OracleResultSet)rset).getCLOB(index);
    
    StreamReader sr = new StreamReader(**yourString**);
    char[] bufr = new char[clob.getChunkSize()];
    
    
    OutputStream os = new OutputStream(clob.getOutputStream());
    
    int charsRead = 0;
    for(charsRead = sr.read(bufr); charsRead>-1; charsRead = sr.read(bufr)){
       os.write(bufr, 0, charsRead);
    }
    
    
    os.flush();
    os.close()
    sr.close();
    • para mi los resultados son guardar como CLOB en clob ?
    • ¿qué acerca de índice en el ‘oracle.sql.CLOB clob = ((OracleResultSet)rset).getCLOB(índice);’?
    • se escribe «yourString» (mediante el uso de StreamReader sr) en outputStream de clob (clob.getOutputStream())
    • no funciona para mí! Traté de construir una función que tiene Cadena como entrada con oracle.sql.CLOB como una salida, pero no funciona! Yo no estoy haciendo ningún jdbc relacionadas con el trabajo!

Dejar respuesta

Please enter your comment!
Please enter your name here