UTL_FILE、UTL_FILE_DIR 和 DIRECTORY,它们如何影响 UTL_FILE.FREMOVE?
FREMOVE 失败并出现错误“ORA-29280:无效的目录路径”
当我将路径添加到 UTL_FILE_DIR 并重新启动数据库时,它工作正常。
这与该目录是否作为 Oracle 目录并授予读取和写入权限无关。
FREMOVE is failing with an error "ORA-29280: invalid directory path"
It works fine when I add the path to the UTL_FILE_DIR and restart the database.
This is regardless of having the directory as an Oracle directory with both READ and WRITE granted.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用 UTL_FILE 时,您有以下两个选项之一:
选项 1:UTL_FILE_DIR 参数中必须包含要使用的目录。如果它不存在,它将无法工作。缺点是,每当您需要更改或添加此参数时,您都需要弹回数据库。使用此方法,UTL_FILE.FREMOVE 的第一个参数将传递实际的操作系统目录。
选项 2:您也可以使用 oracle Directory 对象。您可以在 UTL_FILE.FREMOVE 的第一个参数中使用目录对象名称(而不是实际的操作系统目录)
参考:
http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/u_file.htm
http://www.sc.ehu.es/siwebso/KZCC/Oracle_10g_Documentacion/server.101/b10755/initparams223.htm
When using UTL_FILE you have one of two options:
Option 1: UTL_FILE_DIR must have the directory you want to use in the parameter. If it's not there it will not work. The downside is that anytime you need this parameter changed or added to you need to bounce the database. With this method the first parameter of UTL_FILE.FREMOVE will be passed the actual OS directory.
Option 2: you alternatively use an oracle Directory object. You would use the directory object name (not the actual OS directory) in the first parameter of UTL_FILE.FREMOVE
References:
http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/u_file.htm
http://www.sc.ehu.es/siwebso/KZCC/Oracle_10g_Documentacion/server.101/b10755/initparams223.htm
您用于 FREMOVE 参数位置的语法是什么?对于目录,您可以传入 Oracle Directory 对象的名称(区分大小写)。
What is the syntax you're using for FREMOVE parameter location? For a directory, you pass in the name of the Oracle Directory object, case significant.