1- Export d'un CLOB
le présent article vous montre une méthode simple pour l'export du contenu d'un type CLOB sur un système de fichier.
Premiérement on doit crée un repértoire(directory) qui pointera sur le clob à exporter.
CREATE OR REPLACE DIRECTORY fichier AS 'C:\Images\';
SQL> Directory created.
|
On va lire le contenu du CLOB pour l'écrire(Enregistrer) dans le répertoire crée précédemment.
SQL> SET SERVEROUTPUT ON
SQL>DECLARE
2 l_file UTL_FILE.FILE_TYPE;
3 l_clob CLOB;
4 l_buffer VARCHAR2(32767);
5 l_amount BINARY_INTEGER := 32767;
6 l_pos INTEGER := 1;
6 BEGIN
7 SELECT col1
8 INTO l_clob
9 FROM tab1
10 WHERE rownum = 1;
11 l_file := UTL_FILE.fopen('FICHIER', 'Test01.txt', 'w', 32767);
12 LOOP
13 DBMS_LOB.read (l_clob, l_amount, l_pos, l_buffer);
14 UTL_FILE.put(l_file, l_buffer);
15 l_pos := l_pos + l_amount;
16 END LOOP;
17 EXCEPTION
18 WHEN NO_DATA_FOUND THEN
19 UTL_FILE.fclose(l_file);
20 WHEN OTHERS THEN
21 UTL_FILE.fclose(l_file);
22 RAISE;
23 END;
/
PL/SQL procedure successfully completed.
|
Remarque: l’arrêt du processus est fait par le biais de l'exception NO_DATA_FOUND.D'autre exception pouvent causer l'arrêt
de l'écriture dans le répertoire, pour cela vous pouvez vous referez au package:UTL_FILE pour gérer d'autre exception
2- Import d'un CLOB
On va utiliser le répertoire crée précédent pour faire enregistrer le fichier dans le CLOB.On va crèer la table qui va servir comme sauvgarde de notre fichier text.
SQL>CREATE TABLE tab1 (
id_file NUMBER,
clob_data CLOB
);
Table created
|
On va importer notre fichier text et l'insérer dans la table par le processu suivant:
SQL>DECLARE
2 l_bfile BFILE;
3 l_clob CLOB;
4 BEGIN
5 INSERT INTO tab1 (id_file, clob_date)
6 VALUES (1, empty_clob())
7 RETURN clob_data INTO l_clob;
8 l_bfile := BFILENAME('FICHIER', 'Test01.txt');
9 DBMS_LOB.fileopen(l_bfile, DBMS_LOB.file_readonly);
10 DBMS_LOB.loadfromfile(l_clob, l_bfile, DBMS_LOB.getlength(l_bfile));
11 DBMS_LOB.fileclose(l_bfile);
12 COMMIT;
13 END;
/
PL/SQL procedure successfully completed.
|
No comments:
Post a Comment