以å‰�å�??oracleä¸?�¯ä»¥ä½¿ç”¨utl_file读写文件,一直没机会接触到,å†�看了utl_file读文件的例å�å�Žï¼Œæ„Ÿè?å’Œjavaä¸?š„读文件很åƒ�,ä¸?下是ä¸?ä¸?®€å�•的使用utl_file读文件的例å�,大神è?ç»•è¿‡ï¼Œå› ä¸ºä¾‹å�真的很ç®?å�•,我使用的oracle版本æ˜?0.2ã€?/span>
   首先,普通用户è?想使用utl_file,必须è?有æ�ƒé™�,首先使用dba登录,给用户授æ�ƒï¼Œå?下所示:
  Â
D:\oracle\app\oracle\product\10.2.0\server\BIN>sqlplus "connect as sysdba"SQL*Plus: Release 10.2.0.1.0 - Production on 星期æ—?1æœ?26 10:25:40 2014Copyright (c) 1982, 2005, Oracle. All rights reserved.输入å�£ä»¤:连接åˆ?Oracle Database 10g Express Edition Release 10.2.0.1.0 - ProductionSQL> grant execute on utl_file to testuser;授æ�ƒæˆ�功ã€?/pre>   有了æ�ƒé™�之å�Žï¼Œè?想è?å�–文件,éœ?新建ä¸?ä¸?›®å½?span>directory,还得å?该目录有读å�–æ�ƒé™�ï¼?/span>
   新建ç›?½•命令如下ï¼?/span>
  Â
SQL> create or replace directory ORADIR_MY_FILE as 'f:/saveFile/oracle/';ç›?½•已创建ã??/pre>   对用户授予è?ç›?½•读写æ�ƒé™�
  Â
SQL> grant write,read on directory ORADIR_MY_FILE to testuser;授æ�ƒæˆ�功ã€?/pre>   如果é™�制用户å�?œ‰è¯»æ�ƒé™�å�¯ä»¥æŠŠwrite去掉ã€?/span>
   能授予��就能撤�用户��,撤�用户��命令如下�/span>
  Â
revoke write,read on directory ORADIR_MY_FILE from testuser;   查看系统æ‰?有目录命令å?下:
  Â
select * from dba_directories;Â Â å¦‚æƒ³åˆ é™¤ç›?½•,å�¯ä»¥è¿™æ ·å�šï¼?/span>
 Â
SQL> drop directory ORADIR_MY_FILE;ç›?½•å·²åˆ é™¤ã??/pre>   ç›?½•新建完了,æ�ƒé™�也有了,å�¯ä»¥è¯•下è?å�–文件了ï¼?/span>
  Â
---读文件测è¯?DECLARE f_file utl_file.file_type; c_line VARCHAR2(2048);BEGIN --打开文件 f_file := utl_file.fopen('ORADIR_MY_FILE', 'testsql.sql', 'R'); IF utl_file.is_open(f_file) THEN LOOP BEGIN utl_file.get_line(f_file, c_line); EXCEPTION WHEN no_data_found THEN EXIT; END; dbms_output.put_line(c_line); END LOOP; END IF; IF utl_file.is_open(f_file) THEN utl_file.fclose(f_file); END IF;EXCEPTION WHEN OTHERS THEN IF utl_file.is_open(f_file) THEN utl_file.fclose(f_file); END IF; dbms_output.put_line('异常:' || SQLERRM);END; Â
  utl_file.fopen('ORADIR_MY_FILE','testsql.sql','R');ç¬?¸€ä¸?�‚数是刚æ‰�新建的目录,ç¬?ºŒä¸?�‚数是文件å��,å�?»¥ä½¿ç”¨å…¨è·¯å¾„å?ï¼?f:/saveFile/oracle/testsql.sql';文件ä¸�ä¸?定是sql文件,什么java,txt,xml都å�¯ä»¥ï¼Œåˆ?¯•ç�?打开docä¹‹ç±»çš„æ–‡ä»¶ï¼Œè¿™æ ·ä½ å¾—åˆ°çš„å°†æ˜¯ä¹±ç �ã€?/span>
   ç»�我测试,文件å��ä¸�能使用ä¸?–‡ï¼Œè¿˜æœ?f:/saveFile/oracle/'å’?f:/saveFile/oracle/test/'æ˜?¸�å�Œçš„2ä¸?›®å½•,å¯?f:/saveFile/oracle/'授æ�ƒå¹¶ä¸�说明å¯?f:/saveFile/oracle/test/'ç›?½•也有æ�ƒé™�,上é�¢çš„结è?æ˜?ˆ‘测试的结果,如果有è?,è?指æ?,谢è°?¼�
   全文完ã??/span>
  Â
  Â
Â