【问题标题】:How to write to a text file from Pl/SQL, PLS error 00363如何从 Pl/SQL 写入文本文件,PLS 错误 00363
【发布时间】:2014-07-19 23:49:03
【问题描述】:

我正在尝试从程序写入文件:

out_File := Utl_File.FOpen('C:\test', 'batotest.txt' , 'W');

  Utl_File.Put_Line(out_file , 'Hi this is text file!');
  Utl_File.FClose(out_file);

PACKAGE xxxxxxxx 的编译错误

Error: PLS-00363: âûðàæåíèå 'OUT_FILE' íå ì.á. èñïîëüçîâàíî êàê àäðåñàò íàçíà÷åíèÿ
Line: 795
Text: out_File := Utl_File.FOpen('C:\test', 'batotest.txt' , 'W');

Error: PL/SQL: Statement ignored
Line: 795
Text: out_File := Utl_File.FOpen('C:\test', 'batotest.txt' , 'W');

Error: PLS-00363: 'OUT_FILE' íå ì.á. èñïîëüçîâàíî êàê àäðåñàò íàçíà÷åíèÿ
Line: 797
Text: Utl_File.FClose(out_file);

Error: PL/SQL: Statement ignored
Line: 797
Text: Utl_File.FClose(out_file);

所以这是我的代码,它给了我这个错误,有什么问题?

【问题讨论】:

  • 发现错误 create proc aProc ( var in type outfile in type )
  • 我只做了,只读
  • 这不是您的整个过程,并且某些错误消息不是任何语言的。可以翻译一下吗?

标签: oracle plsql utl-file


【解决方案1】:

首先,您需要创建一个目录对象来访问 C:\test 目录:

CREATE OR REPLACE DIRECTORY CTEST AS 'C:\test';
GRANT READ ON DIRECTORY CTEST TO PUBLIC; 

接下来,您需要在打开文件时使用此目录对象:

DECLARE
  out_File  UTL_FILE.FILE_TYPE;
BEGIN
  out_File := UTL_FILE.FOPEN('CTEST', 'batotest.txt' , 'W');

  UTL_FILE.PUT_LINE(out_file , 'Hi this is text file!');
  UTL_FILE.FCLOSE(out_file);
END;

分享和享受。

【讨论】:

  • 你能解释一下这个文件是在哪里创建的吗? (在 Oracle 服务器或客户端上)
  • @IsharaKularatna 文件是在 oracle 服务器上创建的
猜你喜欢
  • 1970-01-01
  • 2018-07-26
  • 1970-01-01
  • 2023-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-21
  • 1970-01-01
相关资源
最近更新 更多