Hurriyet

14 Mart 2014 Cuma

Oracle Veritabanı: Clob'u Dosyaya Yazdırmak - Writing a Clob Colum To An OS File

Clob sütununu işletim sisteminde herhangi bir dosyaya yazdırmak için aşağıdaki prosedürü kullanabiliriz.

 CREATE OR REPLACE PROCEDURE clob_to_file  
 ( p_directory        IN VARCHAR2,  
  p_filename         IN VARCHAR2,  
  p_clob           IN CLOB ) IS  
   
  c_chunk          CONSTANT PLS_INTEGER := 32767;  
  l_fHandler         UTL_FILE.FILE_TYPE;  
  l_pos           PLS_INTEGER := 1;  
   
 BEGIN  
   
  l_fHandler := UTL_FILE.FOPEN(p_directory, p_filename, 'W', c_chunk);  
  WHILE l_pos < DBMS_LOB.GETLENGTH(p_clob) LOOP  
   UTL_FILE.PUT(l_fHandler, DBMS_LOB.SUBSTR(p_clob, c_chunk, l_pos));  
   l_pos := l_pos + c_chunk;  
   UTL_FILE.FFLUSH(l_fHandler);  
  END LOOP;  
  UTL_FILE.FCLOSE(l_fHandler);  
   
 END;  
 /  


Dikkat edilmesi gereken konular ise p_directory olarak belirttiğimiz varchar2 değişkeni veritabanında yarattığımız bir klasör adına denk gelmelidir. "p_clob"'da clob tipinde bir değişkendir. Örnek olarak klasör  böyle yaratılabilinir.

 create or replace directory temp_dir as '/home/users/oracle'; 


Hiç yorum yok:

Yorum Gönder