oracle create or replace directory 的用法
生活随笔
收集整理的這篇文章主要介紹了
oracle create or replace directory 的用法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
create or replace directory UTL_FILE_DIR as 'd:/test';?
d:/test 必需是已經存在的目錄。?
用sys用戶登錄給要訪問的用戶指定訪問目錄的權限。?
GRANT READ ON DIRECTORY UTL_FILE_DIR TO wangyh;?
目錄創建??以后,就可以把讀寫權限,“授予特定用戶,具體語法如下:GRANT READ,WRITE]目錄目錄的用戶名,?例如:
授予讀,寫上目錄EXP_DIR到EYGLE;
此時用戶EYGLE就擁有了對該目錄的讀寫權限。
讓我們看一個簡單的測試:
SQL>創建或替換目錄UTL_FILE_DIR的/ opt / ORACLE / UTL_FILE';目錄已創建。SQL>聲明2 fhandle utl_file.file_type;3開始4 fhandle:= utl_file.fopen('UTL_FILE_DIR','example.txt文件','w'的);5 utl_file.put_line(fhandle,“EYGLE測試寫一個');6 utl_file.put_line(fhandle,“EYGLE測試寫兩個');7 utl_file.fclose(fhandle);8月底;9 /PL / SQL過程已成功完成。SQL>! 甲骨文跳線9.2.0] $ /選擇/ ORACLE /的UTL_FILE / example.txt中 EYGLE測試寫一個 EYGLE測試寫了兩 [ORACLE跳線9.2.0]
類似的我們可以通過UTL_FILE來讀取文件:
SQL>聲明2 fhandle utl_file.file_type;3 fp_buffer VARCHAR2(4000);4開始5 fhandle:= utl_file.fopen('UTL_FILE_DIR','example.txt文件','R');6 7 utl_file.get_line(fhandle,fp_buffer);DBMS_OUTPUT.PUT_LINE(fp_buffer);9 utl_file.get_line(fhandle,fp_buffer);10 DBMS_OUTPUT.PUT_LINE(fp_buffer);11 utl_file.fclose(fhandle);12月底;13 / EYGLE測試寫一個 EYGLE測試寫了兩PL / SQL過程已成功完成。
可以查詢dba_directories查看所有目錄。
SQL> SELECT * FROM dba_directories;老板的directory_name DIRECTORY_PATH -------------------------------------------------- ---------------------------------------- SYS UTL_FILE_DIR的/ opt / ORACLE / UTL_FILE SYS BDUMP_DIR的/ opt / ORACLE / ADMIN /康納/ bdump SYS EXP_DIR的/ opt / ORACLE / UTL_FILE
可以使用下拉目錄中刪除這些路徑。
SQL>降目錄EXP_DIR;放置目錄SQL> SELECT * FROM dba_directories;老板的directory_name DIRECTORY_PATH -------------------------------------------------- ---------------------------------------- SYS UTL_FILE_DIR的/ opt / ORACLE / UTL_FILE SYS BDUMP_DIR的/ opt / ORACLE / ADMIN /康納/ bdump
Create directory讓我們可以在Oracle數據庫中靈活的對文件進行讀寫操作,極大的提高了Oracle的易用性和可擴展性。
其語法為:
CREATE [OR REPLACE] DIRECTORY?directory?AS 'pathname';
本案例具體創建如下:
create or replace directory exp_dir as '/tmp';
目錄創建以后,就可以把讀寫權限授予特定用戶,具體語法如下:
GRANT READ[,WRITE] ON DIRECTORY?directory?TO?username;
例如:
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> declare2 fhandle utl_file.file_type;3 begin4 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> declare2 fhandle utl_file.file_type;3 fp_buffer varchar2(4000);4 begin5 fhandle := utl_file.fopen ('UTL_FILE_DIR','example.txt', 'R');6 7 utl_file.get_line (fhandle , fp_buffer );8 dbms_output.put_line(fp_buffer );9 utl_file.get_line (fhandle , fp_buffer );10 dbms_output.put_line(fp_buffer );11 utl_file.fclose(fhandle);12 end;13 / eygle test write one eygle test write twoPL/SQL procedure successfully completed.
可以查詢dba_directories查看所有directory.
SQL> select * from dba_directories;OWNER DIRECTORY_NAME DIRECTORY_PATH ------------------------------ ------------------------------ ------------------------------ SYS UTL_FILE_DIR /opt/oracle/utl_file SYS BDUMP_DIR /opt/oracle/admin/conner/bdump SYS EXP_DIR /opt/oracle/utl_file
可以使用drop directory刪除這些路徑.
SQL> drop directory exp_dir;Directory droppedSQL> select * from dba_directories;OWNER DIRECTORY_NAME DIRECTORY_PATH ------------------------------ ------------------------------ ------------------------------ SYS UTL_FILE_DIR /opt/oracle/utl_file SYS BDUMP_DIR /opt/oracle/admin/conner/bdump
創建或替換為“/ tmp目錄”的目錄EXP_DIR;
目錄創建??以后,就可以把讀寫權限,“授予特定用戶,具體語法如下:GRANT READ,WRITE]目錄目錄的用戶名,?例如:
授予讀,寫上目錄EXP_DIR到EYGLE;
此時用戶EYGLE就擁有了對該目錄的讀寫權限。
讓我們看一個簡單的測試:
SQL>創建或替換目錄UTL_FILE_DIR的/ opt / ORACLE / UTL_FILE';目錄已創建。SQL>聲明2 fhandle utl_file.file_type;3開始4 fhandle:= utl_file.fopen('UTL_FILE_DIR','example.txt文件','w'的);5 utl_file.put_line(fhandle,“EYGLE測試寫一個');6 utl_file.put_line(fhandle,“EYGLE測試寫兩個');7 utl_file.fclose(fhandle);8月底;9 /PL / SQL過程已成功完成。SQL>! 甲骨文跳線9.2.0] $ /選擇/ ORACLE /的UTL_FILE / example.txt中 EYGLE測試寫一個 EYGLE測試寫了兩 [ORACLE跳線9.2.0]
類似的我們可以通過UTL_FILE來讀取文件:
SQL>聲明2 fhandle utl_file.file_type;3 fp_buffer VARCHAR2(4000);4開始5 fhandle:= utl_file.fopen('UTL_FILE_DIR','example.txt文件','R');6 7 utl_file.get_line(fhandle,fp_buffer);DBMS_OUTPUT.PUT_LINE(fp_buffer);9 utl_file.get_line(fhandle,fp_buffer);10 DBMS_OUTPUT.PUT_LINE(fp_buffer);11 utl_file.fclose(fhandle);12月底;13 / EYGLE測試寫一個 EYGLE測試寫了兩PL / SQL過程已成功完成。
可以查詢dba_directories查看所有目錄。
SQL> SELECT * FROM dba_directories;老板的directory_name DIRECTORY_PATH -------------------------------------------------- ---------------------------------------- SYS UTL_FILE_DIR的/ opt / ORACLE / UTL_FILE SYS BDUMP_DIR的/ opt / ORACLE / ADMIN /康納/ bdump SYS EXP_DIR的/ opt / ORACLE / UTL_FILE
可以使用下拉目錄中刪除這些路徑。
SQL>降目錄EXP_DIR;放置目錄SQL> SELECT * FROM dba_directories;老板的directory_name DIRECTORY_PATH -------------------------------------------------- ---------------------------------------- SYS UTL_FILE_DIR的/ opt / ORACLE / UTL_FILE SYS BDUMP_DIR的/ opt / ORACLE / ADMIN /康納/ bdump
d:/test 必需是已經存在的目錄。?
用sys用戶登錄給要訪問的用戶指定訪問目錄的權限。?
GRANT READ ON DIRECTORY UTL_FILE_DIR TO wangyh;?
GRANT WRITE ON DIRECTORY UTL_FILE_DIR TO wangyh;
目錄創建??以后,就可以把讀寫權限,“授予特定用戶,具體語法如下:GRANT READ,WRITE]目錄目錄的用戶名,?例如:
授予讀,寫上目錄EXP_DIR到EYGLE;
此時用戶EYGLE就擁有了對該目錄的讀寫權限。
讓我們看一個簡單的測試:
SQL>創建或替換目錄UTL_FILE_DIR的/ opt / ORACLE / UTL_FILE';目錄已創建。SQL>聲明2 fhandle utl_file.file_type;3開始4 fhandle:= utl_file.fopen('UTL_FILE_DIR','example.txt文件','w'的);5 utl_file.put_line(fhandle,“EYGLE測試寫一個');6 utl_file.put_line(fhandle,“EYGLE測試寫兩個');7 utl_file.fclose(fhandle);8月底;9 /PL / SQL過程已成功完成。SQL>! 甲骨文跳線9.2.0] $ /選擇/ ORACLE /的UTL_FILE / example.txt中 EYGLE測試寫一個 EYGLE測試寫了兩 [ORACLE跳線9.2.0]
類似的我們可以通過UTL_FILE來讀取文件:
SQL>聲明2 fhandle utl_file.file_type;3 fp_buffer VARCHAR2(4000);4開始5 fhandle:= utl_file.fopen('UTL_FILE_DIR','example.txt文件','R');6 7 utl_file.get_line(fhandle,fp_buffer);DBMS_OUTPUT.PUT_LINE(fp_buffer);9 utl_file.get_line(fhandle,fp_buffer);10 DBMS_OUTPUT.PUT_LINE(fp_buffer);11 utl_file.fclose(fhandle);12月底;13 / EYGLE測試寫一個 EYGLE測試寫了兩PL / SQL過程已成功完成。
可以查詢dba_directories查看所有目錄。
SQL> SELECT * FROM dba_directories;老板的directory_name DIRECTORY_PATH -------------------------------------------------- ---------------------------------------- SYS UTL_FILE_DIR的/ opt / ORACLE / UTL_FILE SYS BDUMP_DIR的/ opt / ORACLE / ADMIN /康納/ bdump SYS EXP_DIR的/ opt / ORACLE / UTL_FILE
可以使用下拉目錄中刪除這些路徑。
SQL>降目錄EXP_DIR;放置目錄SQL> SELECT * FROM dba_directories;老板的directory_name DIRECTORY_PATH -------------------------------------------------- ---------------------------------------- SYS UTL_FILE_DIR的/ opt / ORACLE / UTL_FILE SYS BDUMP_DIR的/ opt / ORACLE / ADMIN /康納/ bdump
Create directory讓我們可以在Oracle數據庫中靈活的對文件進行讀寫操作,極大的提高了Oracle的易用性和可擴展性。
其語法為:
CREATE [OR REPLACE] DIRECTORY?directory?AS 'pathname';
本案例具體創建如下:
create or replace directory exp_dir as '/tmp';
目錄創建以后,就可以把讀寫權限授予特定用戶,具體語法如下:
GRANT READ[,WRITE] ON DIRECTORY?directory?TO?username;
例如:
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> declare2 fhandle utl_file.file_type;3 begin4 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> declare2 fhandle utl_file.file_type;3 fp_buffer varchar2(4000);4 begin5 fhandle := utl_file.fopen ('UTL_FILE_DIR','example.txt', 'R');6 7 utl_file.get_line (fhandle , fp_buffer );8 dbms_output.put_line(fp_buffer );9 utl_file.get_line (fhandle , fp_buffer );10 dbms_output.put_line(fp_buffer );11 utl_file.fclose(fhandle);12 end;13 / eygle test write one eygle test write twoPL/SQL procedure successfully completed.
可以查詢dba_directories查看所有directory.
SQL> select * from dba_directories;OWNER DIRECTORY_NAME DIRECTORY_PATH ------------------------------ ------------------------------ ------------------------------ SYS UTL_FILE_DIR /opt/oracle/utl_file SYS BDUMP_DIR /opt/oracle/admin/conner/bdump SYS EXP_DIR /opt/oracle/utl_file
可以使用drop directory刪除這些路徑.
SQL> drop directory exp_dir;Directory droppedSQL> select * from dba_directories;OWNER DIRECTORY_NAME DIRECTORY_PATH ------------------------------ ------------------------------ ------------------------------ SYS UTL_FILE_DIR /opt/oracle/utl_file SYS BDUMP_DIR /opt/oracle/admin/conner/bdump
創建或替換為“/ tmp目錄”的目錄EXP_DIR;
目錄創建??以后,就可以把讀寫權限,“授予特定用戶,具體語法如下:GRANT READ,WRITE]目錄目錄的用戶名,?例如:
授予讀,寫上目錄EXP_DIR到EYGLE;
此時用戶EYGLE就擁有了對該目錄的讀寫權限。
讓我們看一個簡單的測試:
SQL>創建或替換目錄UTL_FILE_DIR的/ opt / ORACLE / UTL_FILE';目錄已創建。SQL>聲明2 fhandle utl_file.file_type;3開始4 fhandle:= utl_file.fopen('UTL_FILE_DIR','example.txt文件','w'的);5 utl_file.put_line(fhandle,“EYGLE測試寫一個');6 utl_file.put_line(fhandle,“EYGLE測試寫兩個');7 utl_file.fclose(fhandle);8月底;9 /PL / SQL過程已成功完成。SQL>! 甲骨文跳線9.2.0] $ /選擇/ ORACLE /的UTL_FILE / example.txt中 EYGLE測試寫一個 EYGLE測試寫了兩 [ORACLE跳線9.2.0]
類似的我們可以通過UTL_FILE來讀取文件:
SQL>聲明2 fhandle utl_file.file_type;3 fp_buffer VARCHAR2(4000);4開始5 fhandle:= utl_file.fopen('UTL_FILE_DIR','example.txt文件','R');6 7 utl_file.get_line(fhandle,fp_buffer);DBMS_OUTPUT.PUT_LINE(fp_buffer);9 utl_file.get_line(fhandle,fp_buffer);10 DBMS_OUTPUT.PUT_LINE(fp_buffer);11 utl_file.fclose(fhandle);12月底;13 / EYGLE測試寫一個 EYGLE測試寫了兩PL / SQL過程已成功完成。
可以查詢dba_directories查看所有目錄。
SQL> SELECT * FROM dba_directories;老板的directory_name DIRECTORY_PATH -------------------------------------------------- ---------------------------------------- SYS UTL_FILE_DIR的/ opt / ORACLE / UTL_FILE SYS BDUMP_DIR的/ opt / ORACLE / ADMIN /康納/ bdump SYS EXP_DIR的/ opt / ORACLE / UTL_FILE
可以使用下拉目錄中刪除這些路徑。
SQL>降目錄EXP_DIR;放置目錄SQL> SELECT * FROM dba_directories;老板的directory_name DIRECTORY_PATH -------------------------------------------------- ---------------------------------------- SYS UTL_FILE_DIR的/ opt / ORACLE / UTL_FILE SYS BDUMP_DIR的/ opt / ORACLE / ADMIN /康納/ bdump
總結
以上是生活随笔為你收集整理的oracle create or replace directory 的用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 刚入职一个月的硬件工程师谈谈感受,分享一
- 下一篇: 【国庆快乐】送给祖国母亲一朵玫瑰花(效果