Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> Java Programming >> .

Come utilizzare CLOB in Java

È 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 {

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 ) {

buffer.append ( "Tutto lavoro e niente svago rende Cujo un ragazzo ottuso . "); }


String clobValue = buffer.toString ();

//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") ; .

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) ;

//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 ) ;

//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

//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

}

}

.

 

Programmazione © www.354353.com