
{filelink=7046}
import java.io.File;
import java.io.FileWriter;
import java.io.Reader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class BD_CLOB
{
/**
* Ce programme se connecte à une Base de données Oracle
* et lit un fichier texte enregistré dans cette Base de
* de données.
**/
public static void main(String[] args) throws Exception
{
// Créer une connexion JDBC Oracle sur la Base de Données 'Cours'
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:Cours"
, "nom_utilisateu", "Mot de passe");
// Préparer les instructions SQL
PreparedStatement pStmt = conn.prepareStatement("SELECT nom, prix, fichier FROM Clients ");
// Exécuter les instructions préparées
ResultSet res = pStmt.executeQuery();
while (res.next())
{
String nom = res.getString(1);
String prix = res.getString(2);
// Créer un fichier dans le répertoire courant
File fichier = new File("test.txt");
// Lire les caractères de grande taille(CLOBs)
Reader reader = res.getCharacterStream(3);
// Ecrire les caractères lus dans le fichier crée précédemment
FileWriter writer = new FileWriter(fichier);
char[] buffer = new char[1];
while (reader.read(buffer) > 0)
{
writer.write(buffer);
}
writer.close();
}
conn.close();
}
}