关于oracle读写文件的,急急

yesjobjava 2003-10-17 03:09:12
DECLARE
FILE_HANDLE UTL_FILE.FILE_TYPE;
BEGIN
FILE_HANDLE:=UTL_FILE.FOPEN('C:\','TEST.TXT','A');
UTL_FILE.PUT_LINE(FILE_HANDLE,'HELLO,IT’S A TEST TXT FILE');
UTL_FILE.FCLOSE(FILE_HANDLE);
END;

/

上段代码执行后报错, 不知什么原因,请指教,
...全文
31 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
shine333 2003-10-23
  • 打赏
  • 举报
回复
应该是目录设置的问题,你应该先设置允许oracle访问目录c:\
就用上面各位说的方法
yesjobjava 2003-10-20
  • 打赏
  • 举报
回复
我的测试代码如下:

DECLARE
FILE_HANDLE UTL_FILE.FILE_TYPE;
BEGIN
FILE_HANDLE:=UTL_FILE.FOPEN('C:\','TEST.TXT','A');
UTL_FILE.PUT_LINE(FILE_HANDLE,'HELLO,ITS A TEST TXT FILE');
UTL_FILE.FCLOSE(FILE_HANDLE);
END;

在sqlplus中运行;结果出以下的错误信息,大家帮我分析一下,分数再加

declare
*
行1发生错误:
ORA-29280: 无效的目录.路径;
ORA-06512: "SYS.UTL_FILE", 行18
ORA-06512: "SYS.UTL_FILE", 行424
ORA-06512: 行4

三杯倒 2003-10-18
  • 打赏
  • 举报
回复
zt
修改init.ora文件,设置utl_file_dir参数
如utl_file_dir='/ora01/test/'
shine333 2003-10-18
  • 打赏
  • 举报
回复
还有一个方法:

用有管理员权限登陆,然后
create directory utl_file_test as 'c:\';
这样就可以了,不用在init.ora中设置了
yesjobjava 2003-10-17
  • 打赏
  • 举报
回复
我用的就是sqlplus,而且我需要的就是让文件在服务器端生成
xiaozhufc 2003-10-17
  • 打赏
  • 举报
回复
SQL*PLUS 也是没有客户端PL/SQL引擎的......
xiaozhufc 2003-10-17
  • 打赏
  • 举报
回复
不知道你用的是什么开发工具?
PL/SQL developer 没有客户端的PL/SQL引擎,所以他不能在本地生成文件(比如你的C:\TEST.TXT)只能在数据库服务器上生成;
developer 2000 有客户端的PL/SQL引擎,可以在本地生成文件,但是用的不是UTL_FILE包,而是一个和UTL_FILE非常相似的包——TEXT_IO包。
你可以试试看……
yesjobjava 2003-10-17
  • 打赏
  • 举报
回复
急急 哪位高手请快指点 谢谢
yesjobjava 2003-10-17
  • 打赏
  • 举报
回复
我用的是oracle 9i 请问应该怎么设置目录
三杯倒 2003-10-17
  • 打赏
  • 举报
回复
好像不是所有目录都可以操作的,oracle需要设置目录的参数

17,078

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧