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 可以从外部共享文件夹中检索文件吗?的主要内容,如果未能解决你的问题,请参考以下文章

使用 PLSQL 检索节点内容

从两个应用程序访问共享数据

Android 11 拍照+录制视频保存到外部共享区域

Corona sdk 应用程序 - 它可以接受来自应用程序外部的文件吗?

iphone保存文件外部

基于SMM框架的JSP局域网文件共享及检索系统