mysql utl_file_Oracle的UTL_FILE包
Oracle的包UTL_FIle用于讀寫操作系統(tǒng)的文件,前提是首先創(chuàng)建Directory對象、授權。然后就可以使用UTL_FILE包中提供的類型、過程、
Oracle的包UTL_FIle用于讀寫操作系統(tǒng)的文件,前提是首先創(chuàng)建Directory對象、授權。然后就可以使用UTL_FILE包中提供的類型、過程、函數(shù)來讀取,寫入,,操作目錄中的文件了。
創(chuàng)建Directory的示例如下:
SQL> CREATE DIRECTORY CZW AS 'D:\';
Directory created
SQL> GRANT READ,WRITE ON DIRECTORY CZW TO SCOTT;
Grant succeeded
1、FILE_TYPE
該類型是UTL_FILE包中定義的記錄類型,其成員是私有的,不能夠被直接引用。該類型的定義如下:
TYPE file_type IS RECORD(
id BINARY_INTEGER,datatype BINARY_INTEGER
);
2、FOPEN
該函數(shù)用于打開文件。使用這個函數(shù)最多可以打開50個文件,語法如下:
UTL_FILE.FOPEN(
location IN VARCHAR2,
filename IN VARCHAR2,
open_mode IN VARCHAR2,
max_linesize IN BINARY_INTEGER
)
RETURN file_type;
當成功的執(zhí)行了該函數(shù)之后,就會返回文件句柄,訪問該文件可以使用該文件句柄。如果執(zhí)行失敗的話,則會觸發(fā)例外或者顯示錯誤。注意,當指定文件位置的時候,必須要使用DIRECTORY對象,并且其名稱必須為大寫。示例如下:
DECLARE
HANDLE UTL_FILE.FILE_TYPE;
BEGIN
HANDLE := UTL_FILE.fopen('CZW','DYWT.TXT','R',1000);
DBMS_OUTPUT.PUT_LINE('D:\DYWT.TXT已經(jīng)被打開');
END;
3、FOPEN_NCHAR
該函數(shù)用于以UNICODE方式打開文件。當使用該函數(shù)打開文件之后,讀寫文件會使用UNICODE取代數(shù)據(jù)庫字符集。語法如下:
UTL_FILE.FOPEN_NCHAR(
location IN VARCHAR2,
filename IN VARCHAR2,
open_mode IN VARCHAR2,
max_linesize IN BINARY_INTEGER)
RETURN file_type;
4、IS_OPEN
該函數(shù)用于確定文件是否已經(jīng)被打開,語法如下:
UTL_FILE.IS_OPEN(file IN FILE_TYPE) RETURN BOOLEAN;
如上所示,file用于指定文件句柄。如果文件已經(jīng)被打開,則返回TRUE,否則則返回FALSE,該函數(shù)的示例如下:
DECLARE
HANDLE UTL_FILE.FILE_TYPE;
BEGIN
IF NOT UTL_FILE.is_open(HANDLE) THEN
HANDLE := UTL_FILE.fopen('CZW','DYWT.TXT','R',1000);
END IF;
DBMS_OUTPUT.PUT_LINE('D:\DYWT.TXT已經(jīng)被打開');
END;
本文原創(chuàng)發(fā)布php中文網(wǎng),轉載請注明出處,感謝您的尊重!
總結
以上是生活随笔為你收集整理的mysql utl_file_Oracle的UTL_FILE包的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: css三角形的IE兼容写法
- 下一篇: Building a Crosswalk