错误:必须声明标识符 'UTL_FILE'

switchyiyi 2009-07-24 08:59:01
CREATE OR REPLACE PROCEDURE EMPLOYEE_REPORT(
dir VARCHAR2, filename VARCHAR2)
IS
file UTL_FILE.FILE_TYPE;
CURSOR empc IS SELECT last_name, department_id, salary /*查出所有需要的信息*/
FROM employees ORDER BY department_id;
BEGIN
file:= UTL_FILE.FOPEN (dir, filename, 'w');
--如果文件没打开则打开它
IF NOT UTL_FILE.IS_OPEN(file) THEN
file := UTL_FILE.FOPEN (dir, filename, 'w');
END IF;

FOR emp_rec IN empc LOOP
UTL_FILE.PUT_LINE (file, 'DEPARTMENT: ' || emp_rec.department_id);
UTL_FILE.PUT_LINE (file,' EMPLOYEE: ' ||
emp_rec.last_name ||
' earns: ' || emp_rec.salary);
END LOOP;
UTL_FILE.PUT_LINE(file,'*** END OF REPORT ***');
UTL_FILE.FCLOSE (file);
EXCEPTION
WHEN UTL_FILE.INVALID_FILEHANDLE THEN
RAISE_APPLICATION_ERROR(-20001,'Invalid File.');
WHEN UTL_FILE.WRITE_ERROR THEN
RAISE_APPLICATION_ERROR (-20002, 'Unable to write to file');
END EMPLOYEE_REPORT;

提示::行 4 上出现错误: PLS-00201: 必须声明标识符 'UTL_FILE'
该怎么改啊
...全文
257 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
gpbsorcl 2011-12-19
  • 打赏
  • 举报
回复
grant execute on UTL_FILE to user;
suncrafted 2009-07-24
  • 打赏
  • 举报
回复
当前用户没有UTL_FILE的使用权限
switchyiyi 2009-07-24
  • 打赏
  • 举报
回复
怎么给啊?
inthirties 2009-07-24
  • 打赏
  • 举报
回复
把UTL_FILE包的执行权限给这个用户。

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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