clob utl_file 匯出成TXT檔案
原來做過BLOB匯出成XML的過程,這次根據需要做了一個另一個例子,將資料庫中的CLOB欄位匯出成文字檔案。與BLOB類似,但稍有不同,一是定義的定位器使用CLOB,二是定義的中間變數不是RAW,是VARCHAR2,三是向檔案寫入是使用PUT而不是PUT RAW;
如果是AIX+ORACLE9206 可要小心點。需要重建UTL FILE包
[@more@]create or replace procedure ww_dmp_ct_law(p_docid number) is
-- +----------------------------------------------------+
-- | OUTPUT FILE VARIABLES |
-- +----------------------------------------------------+
v_outdir VARCHAR2(2000) := 'MY_DIR';
v_out_filename VARCHAR2(500) := 'ww_ct_law_';
v_out_fileext VARCHAR2(4) := '.txt';
v_out_filename_full VARCHAR2(500);
v_file_handle UTL_FILE.FILE_TYPE;
-- +----------------------------------------------------+
-- | DYNAMIC SQL VARIABLES |
-- +----------------------------------------------------+
TYPE v_lob_cur_typ IS REF CURSOR;
v_lob_cur v_lob_cur_typ;
v_sql_string VARCHAR2(4000);
-- +----------------------------------------------------+
-- | CLOB WRITE VARIABLES |
-- +----------------------------------------------------+
v_clob_loc CLOB;
buf varchar2(4000);
amt BINARY_INTEGER := 1024;
pos INTEGER := 2147483647;
begin
/** 從ct_law表中 將法規內容匯出成TXT檔案 以DOC ID做為檔名 檔案放在MY_DIR目錄中
對應作業系統的目錄 /app/oracle/admin/gsweb/tmp
*/
v_sql_string := 'SELECT content from ct_law where doc_id= '||p_docid;
OPEN v_lob_cur FOR v_sql_string;
LOOP
FETCH v_lob_cur INTO v_clob_loc;
EXIT WHEN v_lob_cur%NOTFOUND;
v_out_filename_full := v_out_filename || '_' || p_docid || v_out_fileext;
v_file_handle := UTL_FILE.FOPEN(v_outdir, v_out_filename_full, 'w', 32760);
pos:= 1;
begin
LOOP
dbms_lob.read(v_clob_loc, amt, pos, buf);
-- process contents of buf
UTL_FILE.PUT(v_file_handle,buf);
UTL_FILE.FFLUSH(file => v_file_handle);
pos := pos + amt;
END LOOP;
EXCEPTION
WHEN NO_DATA_FOUND then
UTL_FILE.FCLOSE(v_file_handle);
end;
END LOOP;
CLOSE v_lob_cur;
end ww_dmp_ct_law;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/271063/viewspace-1014456/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 匯出txt檔案Oracle
- SQLSERVER匯出TXT文字檔案,ORACLE SQL LOADER匯入TXT文字檔案SQLServerOracle
- 報表如何批次匯出成 excel 檔案Excel
- 從SQL Server匯出txt檔案匯入Oralce遇到毫秒問題SQLServer
- MySQL匯入匯出檔案檔案MySql
- txt檔案匯入oracle方法Oracle
- Oracle - UTL_FILE包之BLOB匯入和匯出Oracle
- UTL_FILE遍歷檔案
- Oracle表中資料匯出成 Txt格式的方案Oracle
- (十一)Electron 匯入匯出檔案
- mysql 匯入匯出 sql檔案MySql
- MySQL匯入匯出平面檔案MySql
- java匯出Excel檔案JavaExcel
- java匯出CSV檔案Java
- js 匯出檔案流JS
- 使用utl_file做選擇性資料匯出
- 華表Cell檔案匯入匯出
- Mysql 匯出txt格式MySql
- ORACLE百萬資料匯入匯出解決方法(LOADER、UTL_FILE)Oracle
- 【UTL_FILE】使用UTL_FILE包生成檔案並寫入資料
- PHP 匯出 CSV 格式檔案PHP
- java模板匯出PDF檔案Java
- oralce 匯出csv格式檔案
- Oracle快速匯出平面檔案Oracle
- oracle 大檔案匯出方法Oracle
- exp 分檔案大小匯出
- EasyExcel完成excel檔案的匯入匯出Excel
- Navicat如何匯入和匯出sql檔案SQL
- 使用 UTL_FILE匯出TAB和逗號分割資料
- 用Oracle sqlldr匯入文字檔案TXT 總結OracleSQL
- 快速匯出requestment.txt
- chm檔案怎麼轉換成TXT格式?chm檔案快速轉化成TXT格式的方法
- 如何使用JavaScript匯入和匯出Excel檔案JavaScriptExcel
- ubuntu 下mysql匯入和匯出.sql檔案UbuntuMySql
- MySQL 匯出匯入二進位制檔案MySql
- 使用BCP將SQL Server表資料匯出為txt或xls等格式檔案SQLServer
- ORACLE UTL_FILE檔案包的應用,檔案I/O操作Oracle
- jpeg,png,bmp轉換成icon,windows本地匯出icon檔案Windows