oracle 存储过程或函数怎么把数据写到硬盘上?

想在 存储过程 或者 函数中将 一些数据写到硬盘上,最好中文不要乱码。哪位大侠能告诉我怎么做吗?

2个回答

外网应该不太可能,局域网可以,如果是windows,可以设置共享目录,如果是linux,利用smbfs也可以设置共享目录

Oracle中提供的一个utl_file的包可以将字符串读写到文件中

1 修改INIT.ORA文件,加上UTL_FILE_PATH = <要创建文件的路径名>
2 建立存储过程
create or replace procedure sp_write_to_file(Path in varchar2, FileName in varchar2, Contents in varchar2) is

handle utl_file.file_type;

nrow number;

nindex number;

begin

handle := utl_file.fopen(Path, FileName, ''a'');

nrow := length(Contents) /1023;

nindex := 0;

if (nrow > 1)

then

LOOP

if (nindex <= nrow -1)

then

utl_file.put(handle, substr(Contents, nindex*1023, 1023));

utl_file.fflush(handle);

else

utl_file.put(handle, substr(Contents, nindex*1023, length(Contents) - nindex*1023));

utl_file.fflush(handle);

end if;

if (nindex = floor(nrow))

then

exit;

end if;

nindex := nindex + 1;

end loop;

end if;

utl_file.fclose(handle);

end sp_write_to_file;

轻松阅读,尽在[url=http://www.article-reading.com][u]阅读地带[/u][/url]

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问