sql – PLS-00201:必须声明标识符UTIL_FILE
发布时间:2020-12-12 06:58:45 所属栏目:MsSql教程 来源:网络整理
导读:我正在尝试将查询中的数据导出到安装在 Windows Server 2008计算机上的Oracle Enterprise Express的csv文件中. 我找到了这个解决方案: http://asktom.oracle.com/pls/asktom/f?p=100:11:::::P11_QUESTION_ID:235814350980 它基本上编写一个函数并使用UTIL_FI
我正在尝试将查询中的数据导出到安装在
Windows Server 2008计算机上的Oracle Enterprise Express的csv文件中.
我找到了这个解决方案: http://asktom.oracle.com/pls/asktom/f?p=100:11:::::P11_QUESTION_ID:235814350980 它基本上编写一个函数并使用UTIL_FILE对象来创建和写入文件并添加分隔符. 当我尝试在Oracle SQL Developer中创建函数时收到以下错误: PLS-00201: identifier UTIL_FILE must be declared. 当我运行以下命令时: select owner,object_type from all_objects where object_name = 'UTL_FILE' 结果是: OWNER Object Type --------- ----------- PUBLIC SYNONYM 编辑: 运行: GRANT EXECUTE ON UTL_FILE TO PUBLIC 得到: Error starting at line 2 in command: GRANT EXECUTE ON UTL_FILE TO PUBLIC Error report: SQL Error: ORA-00942: table or view does not exist 00942. 00000 - "table or view does not exist" *Cause: *Action: 问题是什么? 解决方法似乎对我缺乏特权. PUBLIC用户通常在该程序包上授予EXECUTE特权,但该特权可能会被撤销.您可以通过发出以下查询来检查PUBLIC是否具有该权限: SELECT * FROM all_tab_privs WHERE grantee = 'PUBLIC' AND table_name = 'UTL_FILE'; 如果没有返回任何行,请尝试将执行权限授予您记录为的用户,或者授予PUBLIC,作为某些特权用户,例如SYS: GRANT EXECUTE ON SYS.utl_file TO user_name; 编辑 您必须在记录时授予该权限,例如,SYS用户. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |