1 UTL_FILE_DIR参数定义 UTL_FILE_DIR是Oracle中的一个“静态参数”,可以设置一个或多个路径。用于在PL/SQL中进行文件I/O操作(可以用utl_file包)时指定路径。UTL_FILE_DIR是Oracle中的一个“静态参数”,可以设置一个或多个路径。用于在PL/SQL中进行文件I/O操作(可以用utl_file包)时限定路径,utl_file包只能在指定路径下创建,读取文件。utl_file_dir为空时,则不限定路径。
2 UTL_FILE包简介在PL/SQL中没有直接的文件I/O接口,一般在调试程序时可以使用Oracle自带的DBMS_OUTPUT包的put_line函数(即向屏幕进行I/O 操作),但是不能对磁盘文件进行I/O操作。文件I/O对于数据库的开发来说显得很重要,比如如果数据库中的一部分数据来自于磁盘文件,那么就需要使用I/O接口把数据导入到数据库中来。
3 实验3.1 设置utl_file_dir参数SQL> alter system set utl_file_dir="/u01/app/oracle" scope=spfile;System altered.SQL> startup force; SQL> show parameter utl_fileNAME TYPE VALUE-------------------------------- ----------- ------------------------------utl_file_dir string /u01/app/oracle 设置多个路径:SQL> alter system set utl_file_dir="/u01/app/oracle", "/oradata" scope=spfile;System altered.SQL> startup forceNAME TYPE VALUE-------------------------------- ----------- ------------------------------utl_file_dir string /u01/app/oracle, /oradata
3.2 utl_file的IO操作SQL> declare fn utl_file.file_type;begin fn := utl_file.fopen("/u01/app/oracle", "utl_test.txt", "W"); utl_file.fclose(fn);end;/PL/SQL procedure successfully completed. 不是utl_file_dir所指定的路径时,www.linuxidc.com使用fopen方法时就会报错:SQL> declare fn utl_file.file_type;begin fn := utl_file.fopen("/u01/app/oracle/admin", "utl_test.txt", "W"); utl_file.fclose(fn);end;/ declare*ERROR at line 1:ORA-29280: invalid directory pathORA-06512: at "SYS.UTL_FILE", line 33ORA-06512: at "SYS.UTL_FILE", line 436ORA-06512: at line 4 为了避免上面的错误,可以使用路径对象。SQL> create directory dir_test as "/oradata";Directory created.SQL> declare fn utl_file.file_type;begin fn := utl_file.fopen("DIR_TEST", "test.txt", "W"); utl_file.fclose(fn);end;Oracle在专用与共享的模式下SGA和PGA的区别Oracle 迁移与审计相关表和索引的表空间相关资讯 Oracle数据库 Oracle入门教程 oracle数据库教程
- Oracle数据库全球化 (03月01日)
- Oracle数据库日期过滤方法性能比较 (02/02/2015 13:20:26)
- Oracle数据库安装中端口被占用问题 (10/29/2014 07:42:24)
| - 在CentOS 6.6上搭建C++运行环境并 (10/10/2015 19:44:40)
- Oracle数据库无法使用localhost和 (11/14/2014 16:39:10)
- 使用SQLT来构建Oracle测试用例 (08/28/2014 06:17:41)
|
本文评论 查看全部评论 (0)