Plsql 如何从PL/SQL从Oracle目录获取文件名?

Plsql 如何从PL/SQL从Oracle目录获取文件名?,plsql,oracle11g,Plsql,Oracle11g,我在本地计算机上创建了一个Oracle目录(c:\temp), 作为一个例子,我还将几个文件放在该目录中: word.docx excel.xls pic.jpeg pdf.pdf 我的问题是如何从PL/SQL获取该目录中的所有文件名 谢谢你不行。PL/SQL不提供列出目录内容的函数 但是,假设Oracle数据库安装在本地服务器上(数据库通常无法访问存储在客户机文件系统上的文件),您可以创建一个数据库并从PL/SQL调用它。我链接到的线程提供了这种过程的一种实现。internet上也有其他的

我在本地计算机上创建了一个Oracle目录(c:\temp), 作为一个例子,我还将几个文件放在该目录中:

  • word.docx
  • excel.xls
  • pic.jpeg
  • pdf.pdf
我的问题是如何从PL/SQL获取该目录中的所有文件名


谢谢你

不行。PL/SQL不提供列出目录内容的函数


但是,假设Oracle数据库安装在本地服务器上(数据库通常无法访问存储在客户机文件系统上的文件),您可以创建一个数据库并从PL/SQL调用它。我链接到的线程提供了这种过程的一种实现。internet上也有其他的实现。

Oracle目录是指向物理驱动器上某个位置的指针。不要认为Oracle11g中有任何读取物理目录内容的过程。它的所有过程和函数都在一个特定的文件上工作。我尝试了您提供的链接,但当我尝试执行它时,它出现了错误SQL>exec get_dir_list('c:\temp\');开始获取目录列表('c:\ccint\');结束;ORA-29532:Java调用被未捕获的Java异常终止:Java.lang.NullPointerException ORA-06512:在“I.GET_DIR_LIST”的第1行ORA-06512:在第2行,您知道什么时候出错了吗?ThanksI会猜测该目录不存在(您的
exec
中的目录与构建的匿名PL/SQL块SQL*Plus中的目录不匹配,这是不可能的——您必须在发布之前编辑了某些内容),或者您没有授予Tom概述的权限。如果您确信自己有问题,请编辑您的问题,发布一个示例,向我们展示您正在执行的每个步骤。理想情况下,你会发布一些与Tom发布的内容完全相同的内容,尝试在通话中去掉“C:\temp\”上的反斜杠以获取\u dir\u列表。嗨,Cave,非常感谢你的回答,我已经找到了错误的地方以及你提供的链接,它确实有效。