La solution la plus efficiente pour la lecture CLOB à la Chaîne, et la Chaîne de CLOB en Java?

J'ai un gros CLOB (plus de 32 ko) que je veux lire une Chaîne de caractères, à l'aide de StringBuilder. Comment puis-je le faire de la manière la plus efficace? Je ne peux pas utiliser la fonction "int longueur" constructeur de StringBuilder depuis la longueur de mon CLOB est plus qu'un "int" et a besoin d'un "long" de la valeur.

Je ne suis pas à l'aise avec Java I/O classes, et aimerais obtenir des conseils.

Modifier - j'ai essayé avec ce code pour clobToString():

private String clobToString(Clob data) {
    StringBuilder sb = new StringBuilder();
    try {
        Reader reader = data.getCharacterStream();
        BufferedReader br = new BufferedReader(reader);

        String line;
        while(null != (line = br.readLine())) {
            sb.append(line);
        }
        br.close();
    } catch (SQLException e) {
        //handle this exception
    } catch (IOException e) {
        //handle this exception
    }
    return sb.toString();
}
  • Qu'est-ce exactement que vous voulez faire une fois que vous lisez le CLOB dans une Chaîne de caractères?
  • Voulez-vous dire CLOB dans la base de données des sens, ou tout simplement "grande chaîne"?
  • Oui, c'est un CLOB à partir d'une base de données DB2 base.
  • Le CLOB contient un grand XML-chaîne qui sera transmise à JAXB.
  • Je me demande s'il est utile de classes en Java NIO pour cela.
  • J'ai trouvé quelques infos utiles sur CLOB dans ce document: java.sun.com/j2se/1.5.0/docs/guide/jdbc/clob.html Mais je ne comprends pas l'utilisation de .getSubString(1,len), depuis len est un long et pas un int.
  • Vous dites que la taille de votre CLOB est plus gros qu'un int pouvez stocker - que 4GO de données de chaîne. Êtes-vous sûr de cela?
  • Non, pas encore, mais j'ai un sentiment de ce genre de problèmes, je peux obtenir de cela, donc je vais faire quelques tests supplémentaires. J'ai eu de bons conseils ici, merci.
  • "plus de 32 ko" - Vous voulez dire 32 bits?

InformationsquelleAutor Jonas | 2010-01-30