È ora possibile completare numerose attività attraverso Java Database Connectivity ( JDBC ) Application Programming Interface (API ) utilizzando le colonne del database CLOB . CLOB , che sta per " Character Large Object , " è uno strumento di dati utilizzato per la memorizzazione e il recupero di grandi quantità di dati di testo in formato carattere . Un CLOB è in grado di memorizzare fino a 128 terabyte di dati di caratteri nel database. La sua piena compatibilità con Java lo rende una scelta preferita da molti sviluppatori di software . Istruzioni 
 1 
 Utilizzare il seguente frammento di codice per creare un oggetto CLOB , dove " rs" è un oggetto ResultSet : 
 
 Clob clob = rs.getClob ( 1) ; 
 
 la variabile " clob " è ora un operatore funzionale sul valore CLOB memorizzato nella prima colonna del set di risultati " rs ". 
 2 
 input il seguente codice per il database per eseguire due valori CLOB identici in una nuova tabella , che sono in grado di contenere 500 kilobyte di dati di testo ridondanti : 
 
 import java.sql * ; 
 
 PutGetClobs public class { 
 
 pubblico . static void main ( String [] args ) per 
 getta SQLException 
 
 { 
 
 //Registrazione del driver JDBC nativo . 
 
 try { 
 < p > Class.forName ( " com.ibm.db2.jdbc.app.DB2Driver " ) ; 
 
 } catch ( Exception e) { 
 
 System.exit ( 1 ) ; //Setup . errore 
 
 } 
 
 //stabilire una connessione e la dichiarazione con cui lavorare 
 
 Connection c = DriverManager.getConnection ( "jdbc : db2 : * locale") . ; 
 
 Statement s = c.createStatement (); 
 
 //Pulire ogni precedente esecuzione di questa applicazione 
 
 try { 
 
 s.executeUpdate ( . "DROP tABLE CUJOSQL.CLOBTABLE "); 
 
 } catch ( SQLException e) { 
 
 //Ignora esso - assumere la tavola non esisteva 
 
 } 
 . 
 //Creare una tabella con una colonna CLOB . La colonna CLOB 
 
 //dimensione di default è 1 MB 
 
 s.executeUpdate ( "CREATE TABLE CUJOSQL.CLOBTABLE ( COL1 CLOB )"); . 
 
 //Creazione di un oggetto PreparedStatement che permettono di mettere 
 
 //un nuovo oggetto Clob nel database 
 
 PreparedStatement ps = c.prepareStatement ( "INSERT INTO CUJOSQL.CLOBTABLE ( ) ? ") . 
 
 //Crea un grande valore CLOB ... 
 
 StringBuffer di buffer = new StringBuffer ( 500000 ) ; 
 
 mentre ( buffer.Length ( ) < 500000 ) { < br > 
 buffer.append ( "Tutto lavoro e niente svago rende Cujo un ragazzo ottuso . "); } 
 
 
 
 String clobValue = buffer.toString (); 
 < p > //Imposta il parametro PreparedStatement . Questo non è 
 
 //portatile per tutti i driver JDBC . I driver JDBC non hanno 
 
 //per sostenere setBytes per le colonne CLOB . Questo viene fatto per 
 
 //consentono di generare nuove CLOB . E anche 
 
 //consente JDBC 1.0 conducenti un modo di lavorare con le colonne contenenti 
 
 /dati /Clob 
 
 ps.setString ( 1 , clobValue ) . 
 
 //processo di dichiarazione , inserendo il clob nel database 
 
 ps.executeUpdate ( ) . 
 
 //processo di una query e ottenere il CLOB che è stato appena inserito dal 
 
 //database come oggetto Clob 
 
 ResultSet rs = s.executeQuery ( "SELECT * FROM CUJOSQL.CLOBTABLE ") . 
 
 rs.next ( ) ; 
 
 Clob clob = rs.getClob ( 1) ; 
 
 //Put che Clob nuovamente nel database attraverso 
 
 //il PreparedStatement 
 
 ps . . setClob ( 1 , clob ) ; 
 
 ps.execute (); 
 
 c.close ( ) ; //Connection vicino chiude anche stmt e rs 
 
 } < br . > 
 } 
 3 
 Inserire il seguente codice per il database per modificare il comportamento degli oggetti CLOB : . 
 import java.sql 
 * ; 
 
 UpdateClobs public class { 
 
 public static void main (String [] args ) per 
 getta SQLException 
 
 { 
 
 //Registra il nativo JDBC autista 
 
 try { 
 
 Class.forName ( " com.ibm.db2.jdbc.app.DB2Driver " ) ; 
 
 } . catch (Exception e) { < br 
 System.exit > ( 1) ; errore //Setup 
 
 } 
 
 Connection c = DriverManager.getConnection ( "jdbc : db2 : * locale") ; . 
 < p > Statement s = c.createStatement (); 
 
 ResultSet rs = s.executeQuery ( "SELECT * FROM CUJOSQL.CLOBTABLE "); 
 
 rs.next ( ) ; 
 < p > Clob clob1 = rs.getClob ( 1) ; 
 
 rs.next (); 
 
 Clob clob2 = rs.getClob ( 1) ; 
 
 //troncare una . CLOB 
 
 clob1.truncate ( (long ), 150000 ) ; 
 
 System.out.println ( " nuova lunghezza di Clob1 è" + clob1.length ( ) ) ; 
 
 //Aggiorna una porzione del CLOB con un nuovo valore stringa 
 
 String value = " Alcuni nuovi dati per una volta "; . 
 
 int charsWritten = clob2.setString ( 500L , valore ) ; 
 
 System.out.println ( " caratteri scritti è " + charsWritten ) ; 
 
 //I byte può essere trovato alla posizione 500 nel clob2 
 
 lungo startInClob2 = clob2.position ( valore , 1) ; 
 
 System.out.println ( " modello trovato a partire dalla posizione " + startInClob2 ) ; 
 
 c.close ( ) ; //Connection vicino chiude anche stmt e RS . 
 
 } 
 
 } 
 4 
 Applicare il seguente codice per eseguire CLOB nel database. CLOB si chiuderà automaticamente dopo aver eseguito le sue funzioni sotto elencate 
 import java.sql 
 * , . . 
 
 UseClobs public class { 
 
 public static void main (String [] args ) per 
 getta SQLException 
 
 { 
 
 //Registrazione del driver JDBC nativo . 
 
 try { 
 
 Class.forName ( " com . ibm.db2.jdbc.app.DB2Driver "); 
 
 } catch ( Exception e) { 
 
 System.exit ( 1 ) . errore //Setup 
 
 } 
 
 Connection c = DriverManager.getConnection ( "jdbc : db2 : * locale") ; 
 
 Statement s = c.createStatement (); 
 
 ResultSet rs = s . executeQuery ( " SELECT * FROM CUJOSQL.CLOBTABLE "); 
 
 rs.next (); 
 
 Clob clob1 = rs.getClob ( 1) ; 
 
 rs.next ( ) ; 
 
 Clob clob2 = rs.getClob ( 1) ; 
 
 //determinare la lunghezza di un LOB 
 
 lungo termine = clob1.length ( ) . < br 
 System.out.println > ( " lunghezza Clob1 è" + clob1.length ()); 
 
 //Quando si lavora con LOB , tutto indicizzazione che è legato al loro 
 
 //è in base 1 e non 0 -based come stringhe e array 
 
 lungo startingPoint = 450; . 
 
 lungo endingPoint = 50; 
 
 //Ottenere parte del CLOB come matrice di byte 
 
 String outString = clob1.getSubString ( startingPoint , ( int) endingPoint ) . 
 
 System.out.println (" Clob sottostringa è" + outString ) ; < br > 
 //Trova dove un sub- CLOB o stringa viene prima trovato all'interno di un 
 
 //CLOB . L' installazione di questo programma messo due copie identiche di 
 
 //a CLOB ripetendo nel database. Così, la posizione iniziale della 
 
 //stringa estratta dal clob1 può essere trovato nella partenza 
 
 //posizione in clob2 se la ricerca ha inizio in prossimità del punto in cui 
 < p > //la stringa inizia 
 
 lungo startInClob2 = clob2.position ( outString , 440 ) . 
 
 System.out.println ( " modello trovato a partire dalla posizione " + startInClob2 ) ; < br 
 c.close > ( ) ; //Connection vicino chiude anche stmt e rs 
 
 } 
 
 } 
 
 .