Oracle utl file檔案寫入讀取

2021-08-20 08:34:00 字數 1339 閱讀 8281

oracle utl_file檔案寫入讀取

--1、建立伺服器目錄

(1)在system使用者下執行如下命令:create or replace directory mail_file_dir as '/tmp/data/dev';

(2)給建立的目錄賦許可權,執行:grant read ,write on directory mail_file_dir to public;

如果是雙節點的伺服器,在兩個伺服器上執行上述sql語句

--2、在資料庫伺服器上建立/mail_file/data/prod目錄

切換到主目錄'/'下執行建立目錄命令

目錄建立完成後在主目錄'/'下執行賦許可權命令:chmod 777 /mail_file/data/prod

--3、向目錄下寫入檔案

declare

fhandle utl_file.file_type;

begin

fhandle := utl_file.fopen('mail_file_dir'

,'example.txt'

,'w');

utl_file.put_line(fhandle

,'gh test write one');

utl_file.put_line(fhandle

,'gh test write two');

utl_file.fclose(fhandle);

end;

--4、讀出檔案的內容

declare

fhandle   utl_file.file_type;

fp_buffer varchar2(4000);

begin

fhandle := utl_file.fopen('mail_file_dir'

,'example.txt'

,'r');

utl_file.get_line(fhandle

,fp_buffer);

dbms_output.put_line(fp_buffer);

utl_file.get_line(fhandle

,fp_buffer);

dbms_output.put_line(fp_buffer);

utl_file.fclose(fhandle);

end;

常見報錯:

ora-29283 : 檔案操作無效

ora-06512 : 在"sys.utl_file", line 449

ora-29283 : 檔案操作無效

錯誤原因:在資料庫下面沒有目錄或者目錄沒有賦讀寫許可權

解決辦法:先檢視檔案和路徑是哪一步許可權不夠,然後針對許可權重新賦許可權。

用oracle utl file包讀取資料寫入檔案

create or replace directory my dir as usr test create or replace function f exporttxt 傳入引數 i query in varchar2,i separator in varchar2,i dir in varcha...

檔案 標頭檔案 原始檔(C )

標頭檔案和原始檔中的函式宣告與定義 函式原型 file fsopen const char filename,const char mode,int shflag file wfsopen const wchar t filename,const wchar t mode,int shflag 注 ...

python 檔案遍歷 檔案讀取 檔案操作

一 檔案遍歷 import os filedir d os.sep data2 for root,dirs,files in os.walk filedir for dir in dirs print os.path.join root,dir for file in files print os....