Oracle 檔案讀寫

2021-09-02 21:29:45 字數 1740 閱讀 5631

create directory讓我們可以在oracle資料庫中靈活的對檔案進行讀寫操作,極大的提高了oracle的易用性和可擴充套件性。

其語法為:

create [or replace] directory directory as 'pathname';

for example:

create or replace directory exp_dir as '/tmp';

目錄建立以後,就可以把讀寫許可權授予特定使用者,具體語法如下:

grant read[,write] on directory directory to username;

for example:

grant read, write on directory exp_dir to eygle;

此時使用者eygle就擁有了對該目錄的讀寫許可權。

讓我們看乙個簡單的測試:

sql> create or replace directory utl_file_dir as '/opt/oracle/utl_file';

directory created.

sql> declare

2    fhandle utl_file.file_type;

3  begin

4    fhandle := utl_file.fopen('utl_file_dir', 'example.txt', 'w');

5    utl_file.put_line(fhandle , 'eygle test write one');

6    utl_file.put_line(fhandle , 'eygle test write two');

7    utl_file.fclose(fhandle);

8  end;

9  /

pl/sql procedure successfully completed.

sql> !

[oracle@jumper 9.2.0]$ more /opt/oracle/utl_file/example.txt

eygle test write one

eygle test write two

[oracle@jumper 9.2.0]$

類似的我們可以通過utl_file來讀取檔案:

sql> declare

2    fhandle   utl_file.file_type;

3    fp_buffer varchar2(4000);

4  begin

5    fhandle := utl_file.fopen ('utl_file_dir','example.txt', 'r');

6 7    utl_file.get_line (fhandle , fp_buffer );

8dbms_output.put_line(fp_buffer );

9    utl_file.get_line (fhandle , fp_buffer );

10dbms_output.put_line(fp_buffer );

11    utl_file.fclose(fhandle);

12  end;

13  /

eygle test write one

eygle test write two

pl/sql procedure successfully completed.

Oracle 讀寫檔案文件

建立表 create table blobdata oid decimal 22 primary key not null,data blob 建立目錄和過程 create or replace directory doc loc as tmp create or replace procedure...

oracle中utl file包讀寫檔案操作學習

oracle中utl file包讀寫檔案操作學習 在oracle中utl file包提供了一些操作文字檔案的函式和過程,學習了一下他的基本操作 www.2cto.com 1.建立directory,並給使用者授權 建立directory create or replace directory tes...

c 檔案讀寫 文字讀寫

include int main else return 0 格式 intfscanf file stream,constchar format,返回值 如果成功,該函式返回成功匹配和賦值的個數。如果到達檔案末尾或發生讀錯誤,則返回 eof 引數1 file stream 檔案指標 引數2 cons...