Agora você pode inúmeras tarefas completas através de Java Database Connectivity (JDBC ) Aplicação Programming Interface (API ), utilizando colunas CLOB banco de dados. CLOB , que significa "Character objeto grande, " é uma ferramenta de dados usado para armazenar e recuperar grandes quantidades de dados de texto em formato de caractere. A CLOB é capaz de armazenar até 128 terabytes de dados de caracteres do banco de dados . A sua total compatibilidade com o Java torna a escolha preferida por muitos desenvolvedores de software. Instruções
1
Use o seguinte fragmento de código para criar um objeto CLOB , onde " rs " é um objeto ResultSet :
Clob clob = rs.getClob (1);
a variável " clob " é agora um operador funcional no valor CLOB armazenados na primeira coluna do conjunto de resultados " rs ".
2
Digite o seguinte código ao seu banco de dados para executar dois valores CLOB idênticos em uma nova tabela , que são capazes de conter 500 kilobytes de dados de texto redundante :.
java.sql import * ;
public class PutGetClobs {
público void main ( string [ ] args ) estáticos
throws SQLException
{
//Registrar o driver JDBC nativo.
try {
Class.forName (" COM.ibm.db2.jdbc.app.DB2Driver ");
} catch (Exception e) {
System.exit (1 ) //Setup . erro
}
//estabelecer uma conexão e declaração com a qual trabalhar
Connection c = DriverManager.getConnection ( " jdbc: db2 : * local" ) . ;
Statement s = c.createStatement ();
//Limpe qualquer execução anterior desta aplicação
try {
s.executeUpdate ( . " DROP TABLE CUJOSQL.CLOBTABLE ");
} catch ( SQLException e) {
//Ignorar isso - assumir a mesa não existia
}
.
//Cria uma tabela com uma coluna CLOB. O padrão da coluna CLOB
//tamanho é de 1 MB
s.executeUpdate ( "CREATE TABLE CUJOSQL.CLOBTABLE ( COL1 CLOB )"); .
//Cria um PreparedStatement objeto que permitem que você coloque
//um novo objeto Clob no banco de dados
PreparedStatement ps = c.prepareStatement ( "INSERT INTO CUJOSQL.CLOBTABLE () "); .
//Cria um valor grande CLOB ...
tampão StringBuffer = new StringBuffer ( 500000 );
while ( buffer.Length () < 500000 ) { < br >
buffer.append ( " Todo o trabalho sem diversão faz Cujo um menino maçante . "); }
Cordas clobValue = buffer.toString ();
//Defina o parâmetro PreparedStatement . Este não é
//portátil para todos os drivers JDBC . Drivers JDBC não tem
//para apoiar setBytes para colunas CLOB . Isto é feito para
//permitem a geração de novos CLOBs . Também
//JDBC 1.0 permite que os motoristas uma maneira de trabalhar com colunas contendo dados
//Clob
ps.setString (1, clobValue ); .
//processar a instrução , a inserção do CLOB no banco de dados
ps.executeUpdate (); .
//Processar uma consulta e obter o CLOB que acabou de ser inserido fora do
//banco de dados como um objeto Clob
ResultSet rs = s.executeQuery ( "SELECT * FROM CUJOSQL.CLOBTABLE "); .
rs.next ();
Clob clob = rs.getClob (1);
//Acrescenta que Clob de volta para o banco de dados através
//o PreparedStatement
ps . . setClob (1, clob );
ps.execute ();
c.close (); . //Ligação perto também fecha stmt e rs
} < br >
}
3
Insira o seguinte código para o seu banco de dados para alterar o comportamento de seus objetos CLOB : .
java.sql import * ;
UpdateClobs
public class {
void main ( string [ ] args ) public static
throws SQLException
{
//Registra o JDBC nativo . motorista
try {
Class.forName (" COM.ibm.db2.jdbc.app.DB2Driver ");
} catch (Exception e) {< br >
System.exit (1 ) //erro de instalação
}
Connection c = DriverManager.getConnection . ( " jdbc: db2 : * local" );
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);
//truncar um . CLOB
clob1.truncate ( ( long ) 150000 );
System.out.println (" novo comprimento da Clob1 é" + clob1.length ());
//Atualiza uma parte do CLOB com um novo valor de cadeia de valor
string = " Alguns novos dados para uma vez "; .
int charsWritten = clob2.setString ( 500L , value) ;
System.out.println (" Os caracteres escritos é" + charsWritten );
//O bytes pode ser encontrado na posição 500 em clob2
longo startInClob2 = clob2.position (valor, 1);
System.out.println (" padrão encontrado começando na posição " + startInClob2 );
c.close () //Ligação perto também fecha stmt e rs .
}
}
4
Aplicar o seguinte código para executar CLOB em seu banco de dados . CLOB vai fechar-se sozinha após a realização de suas funções listadas abaixo
import java.sql * ; . .
UseClobs public class {
void main ( String [ ] args public static )
throws SQLException
{
//Registrar o driver JDBC nativo .
try {
Class.forName ( "com . ibm.db2.jdbc.app.DB2Driver ");
} catch (Exception e) {
System.exit (1 ) //erro de instalação
. }
Connection c = DriverManager.getConnection ( " jdbc: db2 : * local" );
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);
//Determinar o comprimento de um LOB
longo end = clob1.length (); . < br >
System.out.println (" comprimento Clob1 é" + clob1.length ());
//ao trabalhar com LOBs , todos indexação que está relacionado a elas
//é 1- based, e não baseado em 0 como strings e arrays
longo startingpoint = 450 ; .
longo endingPoint = 50;
//obter parte do CLOB como um array de bytes
Cordas outString = clob1.getSubString ( startingpoint , (int) endingPoint ); .
System.out.println (" Clob substring é" + outString ); < br >
//Encontrar onde um sub- CLOB ou string é encontrado pela primeira vez dentro de um
//CLOB. A configuração para este programa colocou duas cópias idênticas de
//a CLOB repetindo no banco de dados . Assim, a posição inicial do
//string extraída de clob1 pode ser encontrada na partida
//posição na clob2 se a pesquisa começa perto da posição onde
//a string começa
longo startInClob2 = clob2.position ( outString , 440 ); .
System.out.println (" padrão encontrado começando na posição " + startInClob2 ); < br >
c.close () //Ligação perto também fecha stmt e rs
}
}
.