Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
použite nasledujúci fragment kódu pre vytvorenie CLOB objekt , kde " rs " je ResultSet objektu :
Clob CLOB = rs.getClob ( 1 ) ; klipart
Premenná " CLOB " je teraz funkčný operátor na hodnotu CLOB uložené v prvom stĺpci výslednej sady " RS " .
2
Zadajte nasledujúci kód do databázy spustiť dva identické hodnoty CLOB v novej tabuľky , ktoré sú schopné obsahuje 500 kilobajtov redundantné textové dáta : .
import java.sql * ;
public class PutGetClobs {
verejnosť static void main ( String [ ] args )
hodí SQLException
{
//registrovať natívny ovládač JDBC .
try {
Class.forName ( " COM.ibm.db2.jdbc.app.DB2Driver " ) ;
} catch ( Exception e ) {
System.exit ( 1 ) , //Nastavenie . chyba
}
//nadviazať pripojenie a vyhlásenie , s ktorým chcete pracovať
Connection c = DriverManager.getConnection ( " jdbc : db2 : * local " ) . ;
vyhlásenie s = c.createStatement ( ) ;
//Vyčistiť všetky predchádzajúce beh tejto aplikácie
try { klipart
s.executeUpdate ( . " DROP TABLE CUJOSQL.CLOBTABLE " ) ;
} catch ( SQLException e ) {
//Ignorovať ju - predpokladať , že tabuľka neexistuje
}
.
//Vytvorenie tabuľky s CLOB stĺpci . Predvolené CLOB stĺpci
//veľkosť je 1 MB
s.executeUpdate ( " CREATE TABLE CUJOSQL.CLOBTABLE ( COL1 CLOB ) " ) ; .
//Vytvorenie PreparedStatement objekt , ktorý vám umožní vložiť klipart
//nový CLOB objekt do databázy
PreparedStatement ps = c.prepareStatement ( " INSERT INTO CUJOSQL.CLOBTABLE VALUES ( ? ) " ) ; .
//Vytvorenie veľký CLOB hodnotu ...
StringBuffer vyrovnávacej pamäti = new StringBuffer ( 500000 ) ;
while ( buffer.length ( ) < 500000 ) {
buffer.append ( " Samá práca a žiadna hra robí Cujo nudný chlapec . " ) ;
}
String clobValue = buffer.toString ( ) ;
//Nastavte parameter PreparedStatement . To nie je
//prenosné na všetkých vodičov JDBC . Ovládače JDBC nemajú
//k podpore setBytes pre CLOB stĺpci . Toto je robené
//vám umožní vytvárať nové CLOB . Je tiež
//umožňuje ovládačom JDBC 1.0 spôsob , ako pracovať so stĺpcami , ktoré obsahujú
//CLOB dát
ps.setString ( 1 , clobValue ) .
//spracovanie príkazu , vloženie CLOB do databázy
ps.executeUpdate ( ) ; .
//Procesné dotaz a získať CLOB , ktorá bola práve vložili z
//databázy ako CLOB objektu
výsledný rs = s.executeQuery ( " SELECT * FROM CUJOSQL.CLOBTABLE " ) ; .
rs.next ( ) ;
CLOB CLOB = rs.getClob ( 1 ) ;
//Daj to Clob späť do databázy cez
//PreparedStatement
ps .. setClob ( 1 , CLOB ) ;
ps.execute ( ) ;
c.close ( ) ; . //Pripojenie blízko aj zavrie stmt a RS
}
}
3
Vložte nasledujúci kód do databázy k zmene správania svojich CLOB objektov : .
import java.sql * ;
public class UpdateClobs {
public static void main ( String [ ] args )
hodí SQLException
{
//registrovať natívny JDBC . vodič
try {
Class.forName ( " COM.ibm.db2.jdbc.app.DB2Driver " ) ;
} catch ( Exception e ) {
System.exit ( 1 ) , //error Nastavenie
}
Connection c = DriverManager.getConnection . ( " jdbc : db2 : * local " ) ;
vyhlásenie s = c.createStatement ( ) ;
výsledný rs = s.executeQuery ( " SELECT * FROM CUJOSQL.CLOBTABLE " ) ;
rs.next ( ) ;
Clob clob1 = rs.getClob ( 1 ) ;
rs.next ( ) ;
Clob clob2 = rs.getClob ( 1 ) ;
//Skrátiť . CLOB
clob1.truncate ( ( dlhý ) 150000 ) ;
System.out.println ( " Clob1 nová dĺžka je " + clob1.length ( ) ) ;
//Aktualizácia časť CLOB s novú hodnotu reťazca hodnoty
String = " Niektoré nové údaje pre raz " ; .
int charsWritten = clob2.setString ( 500L , hodnota ) ;
System.out.println ( " Znaky zapísané je " + charsWritten ) ;
//bajtov možno nájsť na pozíciu 500 v clob2
dlho startInClob2 = clob2.position ( hodnota 1 ) ;
System.out.println ( " vzor našiel začína na pozícii " + startInClob2 ) ;
c.close ( ) ; //Pripojenie blízko aj zavrie stmt a RS .
}
}
4
Použiť nasledujúci kód na vykonanie CLOB v databáze . CLOB sa sama zavrie za plnenie svojich funkcií sú uvedené nižšie klipart
import java.sql * ; ..
Public class UseClobs {
public static void main ( String [ ] args )
hodí SQLException
{
//registrovať natívny ovládač JDBC .
try {
Class.forName ( " com . ibm.db2.jdbc.app.DB2Driver " ) ;
} catch ( Exception e ) {
System.exit ( 1 ) , //error Nastavenie
. }
Connection c = DriverManager.getConnection ( " jdbc : db2 : * local " ) ;
vyhlásenie s = c.createStatement ( ) ;
výsledný rs = y . executeQuery ( " SELECT * FROM CUJOSQL.CLOBTABLE " ) ;
rs.next ( ) ;
Clob clob1 = rs.getClob ( 1 ) ;
rs.next ( ) ;
Clob clob2 = rs.getClob ( 1 ) ;
//Určte dĺžku LOB
dlhý koniec = clob1.length ( ) ; .
System.out.println ( " Clob1 dĺžka je " + clob1.length ( ) ) ;
//Pri práci s objektmi LOB , všetky indexovanie , ktoré je v súvislosti s nimi
//je 1 - založené , a nie 0 báze , ako sú reťazce a polia
dlho Začnite prechádzku = 450 ; .
dlho endingPoint = 50 ;
//získať časť CLOB ako pole bajtov
String outString = clob1.getSubString ( Začnite prechádzku , ( int ) endingPoint ) .
System.out.println ( " Clob podreťazec je " + outString ) ;
//Zistiť , kde sub - CLOB alebo reťazec je najprv nájsť v mladého
//CLOB . Nastavenie tohto programu umiestnené dve identické kópie
//opakujúcim CLOB do databázy . To znamená, že začiatok pozície
//string extrahované z clob1 možno nájsť v štartovom
//pozície v clob2 v prípade hľadania začína v blízkosti miesta , kde
//string klipart
dlho startInClob2 = clob2.position ( outString , 440 ) ; .
System.out.println ( " vzor našiel začína na pozícii " + startInClob2 ) ;
c.close ( ) ; //Pripojenie blízko aj zavrie stmt a RS
}
}
.