utl_file是什么?有什么资料?有什么书?来者有份!

想用存储过程读写文件,只知道要用utl_file,其余一无所知。
---------------------------------------------------------------

回答:
1、utl_file是oracle的一个包,用于在pl/sql或中读写操作系统中的文件的。
2、资料你可以参照oracle联机文档的“Oracle8i Supplied PL/SQL Packages Reference”,oracle8i是a76936.pdf这个文件。
3、书你可以参照机械工业出版社的《oracle8i PL/SQL程序设计》,好像是这个书名,特别不错。
---------------------------------------------------------------

1、没错a76936.pdf是联机文档吗,它在oracle8i的文档盘上呢,如果你没有这张盘,你也可以到http://otn.oracle.com/documentation/oracle8i.html这里down到,注册一个用户,是免费的,耐心点,以后会受益无穷的。
2、《oracle8i PL/SQL程序设计》这本书,我刚刚翻了一次,确实没有找到utl_file的说明.
3、不过你可以在www.google.com这个网站搜oracle utl_file这个串,搜之前把搜中文网页选中,就会搜出好多相关的文章,慢慢看吧。
---------------------------------------------------------------

联机文档中开始这样介绍:
UTL_FILE
The UTL_FILE package lets your PL/SQL programs read and write operating system (OS) text files. It provides a restricted version of standard OS stream file input/output (I/O).

The file I/O capabilities are similar to those of the standard operating system stream file I/O (OPEN, GET, PUT, CLOSE), with some limitations. For example, call the FOPEN function to return a file handle, which you then use in subsequent calls to GET_LINE or PUT to perform stream I/O to a file. When you are done performing I/O on the file, call FCLOSE to complete any output and to free any resources associated with the file.

后边还有一大堆东西,有两页,但介绍的还可以,不妨看看
---------------------------------------------------------------

推荐一本书:《Oracle9i PL/SQL 从入门到精通》 谈竹贤...
中国水利水电出版社
作者是自己编写的,不是抄的,很实用

有对UTL_FILE很详细的介绍。
---------------------------------------------------------------

建议看<

 1<oracle9i pl="" sql="" 从入门到精通="">&gt;   
 2\---------------------------------------------------------------   
 3  
 4Oracle8.05有,给你一个简单的例子   
 5/**************************************************************************   
 6name:sp_Write_log   
 7parameter:textContext in varchar2 日志内容   
 8create date:2002-12-19   
 9creater:chen jiping   
10desc:写日志,把内容记到服务器指定目录下   
11****************************************************************************/   
12procedure sp_Write_log(textContext varchar2)   
13IS   
14file_handle UTL_FILE.file_type;   
15Write_content VARCHAR2(1024);   
16begin   
17file_handle:=UTL_FILE.FOPEN('\oracle\log','mylog.log','a');   
18Write_content:=to_char(SYSDATE,'yyyy-mm-dd hh24:mi:ss') ¦ ¦' ¦ ¦' ¦ &amp;brvbartextContext   
19IF UTL_FILE.IS_OPEN(file_handle) THEN   
20UTL_FILE.PUT_LINE(file_handle,Write_content);   
21END IF;   
22UTL_FILE.Fclose(file_handle);   
23EXCEPTION   
24WHEN OTHERS THEN   
25IF UTL_FILE.IS_OPEN(file_handle) THEN   
26UTL_FILE.Fclose(file_handle);   
27END IF;   
28end sp_Write_log;   
29\----------------------   
30别忘了设置utl_dir参数   
31\---------------------------------------------------------------   
32  
33修改init.ora文件,设置utl_file_dir参数   
34如utl_file_dir='/oradb/'   
35  
36\---------------------------------------------------------------   
37  
38《Oracle 8i PL_SQL高级程序设计》第7章数 据库作业和文件输入输出   
39有说明   
40  
41不过,我测试过,速度很慢,如果有比较大的文件I/O,最好不用   
42\---------------------------------------------------------------   
43  
44对了,我有《Oracle 8i PL_SQL高级程序设计》电子版,pdf的,要的话说一声 :)   
45[email protected]   
46\---------------------------------------------------------------   
47  
48oracle子带文档已经够详细了   
49对包中每一个函数都作了讲解</oracle9i>
Published At
Categories with 数据库类
Tagged with
comments powered by Disqus