PLSQL 可以从外部共享文件夹中检索文件吗?
Posted
技术标签:
【中文标题】PLSQL 可以从外部共享文件夹中检索文件吗?【英文标题】:Can PLSQL retrieve file from external shared folder? 【发布时间】:2018-02-12 02:02:39 【问题描述】:我正在尝试使用 PLSQL 调度程序作业定期检索 .csv 文件。
F := UTL_FILE.FOPEN ('abc.com\folder\', 'ItemStatusCSV.CSV', 'R');
IF UTL_FILE.IS_OPEN(F) THEN
但它给出了这个错误:
ORA-29280: invalid directory path
ORA-06512: at "SYS.UTL_FILE", line 41
ORA-06512: at "SYS.UTL_FILE", line 478
【问题讨论】:
把它作为答案发布,这样我们就可以投票给它@mathguy 【参考方案1】:要从 Oracle(包括 PL/SQL)中访问目录,您需要使用 create directory
命令“创建目录”。 https://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_5007.htm
这不会创建新的文件系统目录,它只会使其对 Oracle 可见。该目录必须存在于 FS 中,并且在主机操作系统中设置了必要的权限。然后,您的应用程序的所有者必须被授予对 Oracle 目录对象的权限。
在你的案例中,有没有做过这些?
【讨论】:
其实我不明白你想说什么。路径在另一台服务器上。基本上,数据库所在的服务器对该服务器具有权限。 如果一切都失败了,请阅读文档。 docs.oracle.com/database/121/ARPLS/u_file.htm#ARPLS70919 第一个参数是location
其中"是一个目录对象名称,必须以大写形式指定。必须授予此目录对象的读取权限,UTL_FILE 用户才能运行FOPEN。”以上是关于PLSQL 可以从外部共享文件夹中检索文件吗?的主要内容,如果未能解决你的问题,请参考以下文章