Oracle utl_file_dir引數詳解
UTL_FILE_DIR是Oracle中的一個“靜態引數”,可以設定一個或多個路徑。用於在PL/SQL中進行檔案I/O操作(可以用utl_file包)時指定路徑。UTL_FILE_DIR是Oracle中的一個“靜態引數”,可以設定一個或多個路徑。用於在PL/SQL中進行檔案I/O操作(可以用utl_file包)時限定路徑,utl_file包只能在指定路徑下建立,讀取檔案。utl_file_dir為空時,則不限定路徑。
2 UTL_FILE包簡介
在PL/SQL中沒有直接的檔案I/O介面,一般在除錯程式時可以使用Oracle自帶的DBMS_OUTPUT包的put_line函式(即向螢幕進行I/O 操作),但是不能對磁碟檔案進行I/O操作。檔案I/O對於資料庫的開發來說顯得很重要,比如如果資料庫中的一部分資料來自於磁碟檔案,那麼就需要使用I/O介面把資料匯入到資料庫中來。
3 實驗
3.1 設定utl_file_dir引數
SQL> alter system set utl_file_dir='/u01/app/oracle' scope=spfile;
System altered.
SQL> startup force;
SQL> show parameter utl_file
NAME TYPE VALUE
-------------------------------- ----------- ------------------------------
utl_file_dir string /u01/app/oracle
設定多個路徑:
SQL> alter system set utl_file_dir='/u01/app/oracle', '/oradata' scope=spfile;
System altered.
SQL> startup force
NAME TYPE VALUE
-------------------------------- ----------- ------------------------------
utl_file_dir string /u01/app/oracle, /oradata
3.2 utl_file的IO操作
SQL> declare
fn utl_file.file_type;
begin
fn := utl_file.fopen('/u01/app/oracle', 'utl_test.txt', 'W');
utl_file.fclose(fn);
end;
/
PL/SQL procedure successfully completed.
不是utl_file_dir所指定的路徑時,使用fopen方法時就會報錯:
SQL> declare
fn utl_file.file_type;
begin
fn := utl_file.fopen('/u01/app/oracle/admin', 'utl_test.txt', 'W');
utl_file.fclose(fn);
end;
/
declare
*
ERROR at line 1:
ORA-29280: invalid directory path
ORA-06512: at "SYS.UTL_FILE", line 33
ORA-06512: at "SYS.UTL_FILE", line 436
ORA-06512: at line 4
為了避免上面的錯誤,可以使用路徑物件。
SQL> create directory dir_test as '/oradata';
Directory created.
SQL> declare
fn utl_file.file_type;
begin
fn := utl_file.fopen('DIR_TEST', 'test.txt', 'W');
utl_file.fclose(fn);
end;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24742969/viewspace-1485751/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle utl_file_dir引數解釋Oracle
- oracle中設定UTL_FILE_DIR引數Oracle
- Oracle UNDO引數詳解Oracle
- oracle rac 核心引數詳解Oracle
- oracle RMAN引數配置詳解Oracle
- ORACLE DG之引數詳解Oracle
- Oracle GoldenGate常用引數詳解OracleGo
- 詳解Oracle建立表的引數Oracle
- 轉:oracle EXP /IMP引數詳解Oracle
- Oracle CLUSTER_INTERCONNECTS引數詳解Oracle
- 水煮Oracle——《Oracle pfile/spfile引數檔案詳解Oracle
- ORACLE中Cursor_sharing引數詳解Oracle
- oracle中的processes,session,transaction引數詳解OracleSession
- ajax 引數詳解
- DockerFile引數詳解Docker
- dd引數詳解
- Mysqldump引數詳解MySql
- vmstat 引數詳解
- OGG引數詳解
- tar命令引數詳解
- 函式引數詳解函式
- jqGrid引數詳解
- $.ajax()方法引數詳解
- DataGuard引數配置詳解
- redis info引數詳解Redis
- ES常用引數詳解
- struts配置引數詳解
- 【轉】Cmd引數詳解
- flash wmode引數詳解
- GCC引數詳解(轉)GC
- fstab引數詳解(轉)
- lsblk命令引數詳解
- Dockerfile - 引數與詳解Docker
- Oracle記憶體引數調優技術詳解Oracle記憶體
- oracle ASM引數ASM_POWER_LIMIT以及其它一些引數詳解OracleASMMIT
- 【區別】“UTL_FILE_DIR引數” VS “DIRECTORY資料庫物件”資料庫物件
- Oracle引數檔案 各引數解釋Oracle
- oracle goldengate 引數詳解(轉MOS:Oracle GoldenGates ample parameter files)OracleGo