Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> Προγραμματισμός Java

Πώς να χρησιμοποιήσετε CLOB σε Java

Μπορείτε τώρα να ολοκληρωθεί πολλές εργασίες μέσω της Java Database Connectivity ( JDBC ) Application Programming Interface ( API ) χρησιμοποιώντας στήλες CLOB βάση δεδομένων . CLOB , που σημαίνει " χαρακτήρας μεγάλο αντικείμενο , " είναι ένα εργαλείο δεδομένων που χρησιμοποιούνται για την αποθήκευση και την ανάκτηση μεγάλων ποσοτήτων δεδομένων κειμένου σε μορφή χαρακτήρα . Μια CLOB μπορεί να αποθηκεύσει μέχρι και 128 terabytes δεδομένων χαρακτήρα στη βάση δεδομένων . Πλήρης συμβατότητα με Java είναι μια προτιμώμενη επιλογή από πολλούς προγραμματιστές λογισμικού κάνει . Οδηγίες
Η 1

Χρησιμοποιήστε τον παρακάτω κώδικα για να δημιουργήσετε ένα αντικείμενο CLOB , όπου " rs " είναι ένα αντικείμενο ResultSet :

CLOB CLOB = rs.getClob ( 1 ) ?

η μεταβλητή " CLOB " είναι πλέον ένα λειτουργικό φορέα για την αξία CLOB αποθηκεύονται στην πρώτη στήλη του συνόλου των αποτελεσμάτων " rs ". 2

Input τον ακόλουθο κώδικα στη βάση δεδομένων σας για να τρέξει δύο ίδιες τιμές CLOB σε ένα νέο πίνακα , τα οποία είναι ικανά να περιέχουν 500 kilobytes των περιττών δεδομένων κειμένου : .

java.sql εισαγωγής * ?

δημόσια τάξη PutGetClobs {

δημόσιο στατική άκυρη κύρια ( String [ ] args )

ρίχνει SQLException

{

//Δηλώστε το εγγενές πρόγραμμα οδήγησης JDBC .

try {

Class.forName ( " com.ibm.db2.jdbc.app.DB2Driver ")?

} αλιευμάτων ( Εξαίρεση ε ) {

System.exit ( 1 ) ? //Εγκατάσταση . σφάλμα

}

//δημιουργήσετε μια σύνδεση και δήλωση με την οποία να εργαστούν

σύνδεσης c = DriverManager.getConnection ( " jdbc : DB2 : * τοπικό επίπεδο») . ?
Δήλωση

s = c.createStatement ( ) ?

//Καθαρίστε κάθε προηγούμενο τρέξιμο αυτής της εφαρμογής

try {

s.executeUpdate ( . " DROP TABLE CUJOSQL.CLOBTABLE ")?

} αλιευμάτων ( SQLException ε) {

//να αγνοήσετε - υποθέτει ότι ο πίνακας δεν υπήρχε

}
.

//Δημιουργία πίνακα με μια στήλη CLOB . Η προεπιλεγμένη CLOB στήλη

//μέγεθος είναι 1 MB

s.executeUpdate ( " CREATE TABLE CUJOSQL.CLOBTABLE ( COL1 CLOB ) ")? .

//Δημιουργήστε ένα PreparedStatement αντικείμενο που σας επιτρέπουν να βάλετε

//ένα νέο αντικείμενο CLOB στη βάση δεδομένων

PreparedStatement ps = c.prepareStatement ( " INSERT INTO CUJOSQL.CLOBTABLE ΑΞΙΕΣ ( ) ;")? .

//Δημιουργήστε μια μεγάλη αξία CLOB ...

StringBuffer buffer = νέα StringBuffer ( 500000 ) ?

ενώ ( buffer.length ( ) <500000 ) {

buffer.append ( " Όλες οι εργασίες και δεν παιχνιδιού κάνει Cujo ένα θαμπό αγόρι . ")? }


String clobValue = buffer.toString ( ) ?

//Ρυθμίστε την παράμετρο PreparedStatement . Αυτό δεν είναι

//φορητό σε όλους τους οδηγούς JDBC . JDBC οδηγούς δεν έχουν

//να υποστηρίξει setBytes για τις στήλες CLOB . Αυτό γίνεται για να

//σας επιτρέπουν να δημιουργήσετε νέα CLOBs . Επίσης

//επιτρέπει JDBC 1.0 οδηγοί έναν τρόπο να συνεργαστεί με στήλες που περιέχουν δεδομένα

//CLOB

ps.setString ( 1 , clobValue )? .

//Επεξεργαστείτε τη δήλωση , εισάγοντας το CLOB στη βάση δεδομένων

ps.executeUpdate ()? .

//Διαδικασία ένα ερώτημα και να πάρει το CLOB που μόλις εισαχθεί από το

//βάσης δεδομένων ως αντικείμενο CLOB

rs ResultSet = s.executeQuery ( "SELECT * FROM CUJOSQL.CLOBTABLE ")? .

rs.next ( ) ?

CLOB CLOB = rs.getClob ( 1 ) ?

//Βάλτε ότι CLOB πίσω στη βάση δεδομένων μέσω

//η PreparedStatement

ps . . setClob ( 1 , CLOB ) ?

ps.execute ( ) ?

c.close ( ) ? . //Η σύνδεση κλείνει κοντά επίσης Stmt και rs

}

}
εικόνων 3

Εισάγετε τον παρακάτω κωδικό στη βάση δεδομένων σας για να αλλάξετε τη συμπεριφορά του CLOB σας αντικείμενα: .

java.sql εισαγωγής * ?
UpdateClobs

δημόσια τάξη {

δημόσια στατική άκυρη κύρια ( String [ ] args )

ρίχνει SQLException

{

//Εγγραφή το φυσικό JDBC . οδηγός

try {

Class.forName ( " com.ibm.db2.jdbc.app.DB2Driver ")?

} αλιευμάτων ( Εξαίρεση ε ) {

System.exit ( 1 ) ? //σφάλμα εγκατάστασης

}

σύνδεσης c = DriverManager.getConnection . ( " jdbc : DB2 : * τοπικό επίπεδο») ?

Δήλωση s = c.createStatement ( ) ?

rs ResultSet = s.executeQuery ( "SELECT * FROM CUJOSQL.CLOBTABLE " ) ?

rs.next ( ) ?

CLOB clob1 = rs.getClob ( 1 ) ?

rs.next ( ) ?

CLOB clob2 = rs.getClob ( 1 ) ?

//Περικοπή a . CLOB

clob1.truncate ( (long ) 150000 ) ?

System.out.println ( " νέο μήκος Clob1 είναι " + clob1.length ( ) ) ?

//Ενημέρωση ενός τμήματος του CLOB με νέα τιμή String αξία

String = " Μερικά νέα στοιχεία για μια φορά "? .

int charsWritten = clob2.setString ( 500L , αξία ) ?

System.out.println ( " Χαρακτήρες που γράφηκαν είναι " + charsWritten ) ?

//Η bytes μπορεί να βρεθεί στη θέση 500 σε clob2

καιρό startInClob2 = clob2.position ( αξία , 1 ) ?

System.out.println ( " μοτίβο που βρέθηκαν ξεκινώντας στη θέση " + startInClob2 ) ?

c.close ( ) ? //Σύνδεση κλείνει κοντά επίσης Stmt και rs .

} }


Η 4

Εφαρμόστε τον παρακάτω κώδικα για να εκτελέσει CLOB στη βάση δεδομένων σας . CLOB θα κλείσει από μόνη της μετά την εκτέλεση των καθηκόντων της που αναφέρονται παρακάτω

java.sql εισαγωγής * ? . .

Δημόσια τάξη UseClobs {

δημόσια στατική άκυρη κύρια ( String [ ] args )

ρίχνει SQLException

{

//Δηλώστε το εγγενές πρόγραμμα οδήγησης JDBC .

try {

Class.forName ( « com . ibm.db2.jdbc.app.DB2Driver ")?

} αλιευμάτων ( Εξαίρεση ε ) {

System.exit ( 1 ) ? //σφάλμα εγκατάστασης

. }

σύνδεσης c = DriverManager.getConnection ( " jdbc : DB2 : * τοπικό επίπεδο») ?

Δήλωση s = c.createStatement ( ) ?

rs ResultSet = s . executeQuery ( "SELECT * FROM CUJOSQL.CLOBTABLE ")?

rs.next ( ) ?

CLOB clob1 = rs.getClob ( 1 ) ?

rs.next ( ) ?

CLOB clob2 = rs.getClob ( 1 ) ?

//Προσδιορίστε το μήκος ενός LOB

μακρύ άκρο = clob1.length ( ) ? .

System.out.println ( " Clob1 μήκος είναι " + clob1.length ( ) ) ?

//Όταν εργάζεστε με LOBs , όλα ευρετηρίαση που σχετίζεται με τους

//είναι 1 - βάση , και όχι 0 - με βάση , όπως strings και arrays

καιρό startingPoint = 450 ? .

καιρό endingPoint = 50 ?

//Αποκτήστε μέρος της CLOB ως έναν πίνακα byte

String outString = clob1.getSubString ( startingPoint , ( int) endingPoint ) ? .

System.out.println ( " CLOB substring είναι " + outString ) ?

//Βρείτε όπου υπο - CLOB ή σπάγκο για πρώτη φορά βρέθηκε σε ένα

//CLOB . Η εγκατάσταση αυτού του προγράμματος τοποθετούνται δύο πανομοιότυπα αντίγραφα του

//μια επανάληψη CLOB στη βάση δεδομένων . Έτσι , η αρχική θέση του

//string που εξάγεται από clob1 μπορεί να βρεθεί στην αρχική

//θέση σε clob2 αν η αναζήτηση αρχίζει κοντά στη θέση όπου

//το string αρχίζει

καιρό startInClob2 = clob2.position ( outString , 440 ) ? .

System.out.println ( " μοτίβο που βρέθηκαν ξεκινώντας στη θέση " + startInClob2 ) ?

c.close ( ) ? //στενή σύνδεση κλείνει και Stmt και rs

} }


Η
εικόνων .

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα